nginx の Chunked Transfer Coding 処理におけるスタックバッファーオーバーフローの脆弱性(Scan Tech Report) | ScanNetSecurity
2026.07.04(土)

nginx の Chunked Transfer Coding 処理におけるスタックバッファーオーバーフローの脆弱性(Scan Tech Report)

nginx の Chunked Transfer Coding 処理には、chunk_size の取り扱いに起因したスタックバッファオーバーフローの脆弱性が存在します。

脆弱性と脅威 エクスプロイト
1.概要
nginx の Chunked Transfer Coding 処理には、chunk_size の取り扱いに起因したスタックバッファオーバーフローの脆弱性が存在します。
リモートの第三者に利用されると、Web サーバを DoS 状態とされる可能性、最悪の場合には任意のコードを実行される可能性があります。
nginx の Web サイトで配布されている Ubuntu/Debian 向けのバイナリパッケージを対象に任意のコードを実行する実証コードも公開されていることから、影響を受けるバージョンの nginx を利用する環境では、可能な限り以下に記載する対策を実施することを推奨します。


2.深刻度(CVSS)
6.4
http://nvd.nist.gov/cvss.cfm?name=&vector=(AV:N/AC:L/Au:N/C:N/I:P/A:P)&version=2


3.影響を受けるソフトウェア ※
nginx 1.3.9-1.4.0

※ 一部の Linux ディストリビューションもこの脆弱性の影響を受けます。


4.解説
nginx は ウェブサーバ・ソフトウェアです。この nginx の ngx_http_parse.cには、HTTP におけるデータ分割送信方式 Chunked Transfer Coding(*1) 処理に関連する ngx_http_parse_chunked() 関数があります。
この ngx_http_parse_chunked() 関数には、Chunked Transfer Coding における分割したデータサイズ chunk_size の取り扱いに起因したスタックバッファオーバーフローの脆弱性が存在します。

VNSECURITY の情報(*2)によると、64 bit 符号あり整数型(off_t)に格納された chunk_size が 32 bit 符号なし整数型(size_t)にキャスト処理され、最終的に 4096 バイトの buffer への書き込みサイズに指定されます。
64 bit 符号あり整数型における負数を chunk_size に指定しておくと、符号なしへのキャスト処理(signed から unsigned)により 4096 以上の整数となります。以上のことから、64 bit 符号あり整数型の負数を chunk_size に指定することで、バッファオーバーフローが発生します。

この脆弱性をリモートの第三者に利用されると、nginx の CPU 使用率を異常に高めることで Web サーバを DoS 状態とされる可能性、最悪の場合には任意のコードを実行される可能性があります。実際 Metasploit Framework のリボジトリにて、Ubuntu/Debian 向けバイナリパッケージ(バージョン 1.4.0)(*3)で任意のコード実行に成功した実証コードが公開されています(*4)。

(*1): http://tools.ietf.org/html/rfc2616#section-3.6.1
(*2): http://www.vnsecurity.net/2013/05/analysis-of-nginx-cve-2013-2028/
(*3): nginx の Web サイトで配布されていましたが、現在は 1.4.0 は配布されていません(1.4.1 が配布されています)。
(*4): https://community.rapid7.com/community/metasploit/blog/2013/05/30/weekly-update


5.対策
以下の Web サイトを参考に nginx 1.4.1/1.5.0 以降を入手しアップデートする、あるいは修正パッチを入手し適用することで、この脆弱性を解消することが可能です。

nginx: download
http://nginx.org/en/download.html
nginx security advisories: The patch
http://nginx.org/download/patch.2013.chunked.txt

また、Linux ディストリビューションにおいては、ディストリビューションごとに影響の有無が変わります。それぞれのディストリビューションに関連する情報を確認してください。

・Red Hat(Fedora)
Red Hat Bugzilla Bug 960605
https://bugzilla.redhat.com/show_bug.cgi?id=960605
影響を受けない。

・Ubuntu
CVE-2013-2028
http://people.canonical.com/~ubuntu-security/cve/2013/CVE-2013-2028.html
影響を受けない。

・Debian
CVE-2013-2028
https://security-tracker.debian.org/tracker/CVE-2013-2028
影響を受けない。

・Gentoo
Gentoo's Bugzilla Bug 468870
https://bugs.gentoo.org/show_bug.cgi?id=CVE-2013-2028
影響を受ける。


6.ソースコード
(Web非公開)

(執筆:株式会社ラック サイバー脅威分析センター

※Web非公開該当コンテンツ閲覧をご希望の方はScan Tech Reportにご登録(有料)下さい。

Scan Tech Report
http://scan.netsecurity.ne.jp/archives/51916302.html

《吉澤 亨史( Kouji Yoshizawa )》

関連記事

特集

PageTop

アクセスランキング

  1. 日経225構成企業の217社で情報漏えいを確認

    日経225構成企業の217社で情報漏えいを確認

  2. セキュリティインシデント体験ツール「ZANSIN」の構築方法について解説

    セキュリティインシデント体験ツール「ZANSIN」の構築方法について解説

  3. サイバー犯罪者が犯行現場に残した「セルフィー」1,500 万枚を LLM 分析

    サイバー犯罪者が犯行現場に残した「セルフィー」1,500 万枚を LLM 分析

  4. メール配信システム「める配くん」の一部サーバに不正アクセス、情報漏えいと考えられる痕跡を確認

    メール配信システム「める配くん」の一部サーバに不正アクセス、情報漏えいと考えられる痕跡を確認

  5. 保護者連絡アプリ「ミマモルメ」で個人情報を誤配信、教頭 データ誤認

    保護者連絡アプリ「ミマモルメ」で個人情報を誤配信、教頭 データ誤認

ランキングをもっと見る
PageTop