jsPDF ライブラリの脆弱性 CVE-2026-25755 が FIX:オブジェクト・インジェクションの可能性

jsPDF Vulnerability Exposes Millions of Developers to Object Injection Attacks

2026/02/23 CyberSecurityNews — 人気ライブラリ jsPDF において、新たに開示されたセキュリティ脆弱性 CVE-2026-25755 が、数百万の Web 開発者を PDF Object Injection 攻撃にさらしている。この脆弱性を悪用するリモート攻撃者は、生成する PDF 文書内に任意のオブジェクトおよびアクションの埋め込みが可能となる。この脆弱性は、PDF ファイルへ JavaScript コードを埋め込む addJS メソッドに影響を及ぼすものだ。

この問題は、jsPDF 内の “javascript.js” ファイルにおける、ユーザー入力に対する不適切なサニタイズに起因する。具体的には、以下の構文により、サニタイズされない入力が直接 PDF ストリームへ連結される。

this.internal.out("/JS (" + text + ")");

このロジックは、PDF 仕様における文字列区切り文字である、閉じ括弧のエスケープ処理を行わない。

したがって攻撃者は、”) >> /Action …” のようなペイロードの注入と、”/JS” 文字列の途中での終了が可能となる。そして、任意の PDF 構造を挿入し、埋め込みオブジェクトを完全に制御する状況を作り出せる。

CVE IDCVSS ScoreDescription
CVE-2026-257558.8 (High)PDF Object Injection in jsPDF’s addJS method allows arbitrary object injection and action execution in generated PDFs.

この脆弱性は、一般的な JavaScript ベースの XSS 攻撃とは異なるものであり、PDF オブジェクト階層を直接操作する点に特徴がある。そのため、ビューアで JavaScript が無効化されている場合でも、悪意のアクション実行や文書構造の改変が可能となる。

以下のような重大な影響が起こり得る

JS 無効環境での実行:注入された PDF アクション (例:/OpenAction) が自動実行され、JavaScript 制限が回避される。

  • 文書改変:攻撃者は “/Annots” や “/Signatures” セクションの注入/暗号化/改変が可能となる。それにより、メタデータ改竄/フィッシング実行/PDF 外観改変が可能となる。
  • クロスビューア・リスク:特にモバイルや組み込み型などの軽量 PDF ビューアは、PDF オブジェクトの解析仕様に厳密に準拠している。そのため注入された悪意のアクションが実行されやすくなる。

この問題を発見したセキュリティ研究者 ZeroXJacks は、細工された addJS ペイロードにより、文書オープン時に任意 PDF アクションを発火させる PoC を実証した。

この問題が示すのは、ユーザー入力から動的に PDF を生成するアプリケーションにおける深刻なリスクである。根本的な原因は、PDF 仕様に基づく入力検証およびエスケープ処理の欠如である。

開発者にとって必要なことは、jsPDF バージョン 4.1.0 以降へと、速やかにアップデートすることだ。このバージョンでは、括弧およびバックスラッシュの適切なエスケープ処理により入力が正しくサニタイズされる。

パッチ適用までの間は、addJS または関連メソッドに対して、信頼できない入力やユーザー生成コンテンツを埋め込むことは回避すべきである。そして、クライアント側 PDF 生成ワークフローにおいて、厳格な入力検証を実施すべきである。