ブラウザ上でPDF生成ができる人気JavaScriptライブラリ「jsPDF」において、悪意ある入力をきっかけにPDF内へ任意のPDFオブジェクト(JavaScriptアクション等)を注入できる脆弱性と、アプリケーションやブラウザをクラッシュさせ得るDoS脆弱性が確認され、開発者に対し早急な更新が呼びかけられています。
今回問題となっているのは、フォーム機能(AcroForm)を悪用したPDFインジェクション(CVE-2026-24737)と、画像処理(BMPDecoder)を悪用したメモリ枯渇によるクラッシュ(CVE-2026-24133)です。
目次
CVE-2026-24737:AcroForm経由で任意のPDFオブジェクト注入、PDFを開いた際にJavaScript実行の恐れ
GitHubのセキュリティアドバイザリによると、CVE-2026-24737はAcroFormモジュールのプロパティ/メソッドにユーザーが関与できる場合、任意のPDFオブジェクト(例:JavaScriptアクション)を注入できる問題です。被害者が生成されたPDFを開いたタイミングで、注入された動作(JavaScriptアクション等)が実行される可能性があります。
特に注意が必要な箇所として、以下のAPIメンバーが挙げられています。
-
AcroformChoiceField.addOption -
AcroformChoiceField.setOptions -
AcroFormCheckBox.appearanceState -
AcroFormRadioButton.appearanceState
アプリ側が、フォーム項目名や選択肢、表示状態などに未検証(未サニタイズ)の入力を通していると、PDF内に悪意ある構造を混入させられるリスクが生じます。結果として、PDF閲覧時の任意動作、情報窃取や不正誘導などにつながる懸念があります。
CVE-2026-24133:細工されたBMPでメモリを過剰消費、アプリやブラウザがクラッシュする恐れ
もう一つの記事で言及されているCVE-2026-24133は、jsPDFの画像処理(BMPDecoder)に関係する問題で、細工されたBMPファイルのヘッダー(幅・高さ等)により過剰なメモリ割り当てが起き、結果としてクラッシュ(DoS)につながる可能性があるとされています。
攻撃者が「異常に大きい幅/高さ」を持つBMPを入力として与えられる状況(例:画像アップロード、外部URL画像の取り込み等)では、jsPDF側が処理の過程でメモリを使い切り、サービス停止やブラウザタブのクラッシュを引き起こし得ます。
影響を受けるバージョン
jsPDF 4.0.0以前 が両脆弱性の影響を受けます。
修正版(対策バージョン)
jsPDF 4.1.0以降 で両脆弱性とも修正されています。








