つみかさね

CVE-2026-26832

Critical(9.8)

CVE-2026-26832 — node-tesseract-ocr OS コマンドインジェクション

公開日: 2026-06-06データソース: NVD, GitHub Advisory

影響を受けるソフトウェア

製品ベンダー影響バージョン
node-tesseract-ocrzapolnoch≤ 2.2.1(全バージョン)

対応ガイド

high|対応必須セキュリティ修正影響: 限定的

推奨アクション

  1. 1node-tesseract-ocr を使用しているプロジェクトを確認する
  2. 2ユーザー入力・外部データをファイルパスとして渡していないか実装を見直す
  3. 3ファイルパスの入力値検証を強化し、許可リストベースの検証を実装する
  4. 4修正バージョンのリリースをモニタリングし、公開次第アップデートする

影響対象

node-tesseract-ocr 利用者(特に外部入力をファイルパスとして扱うアプリケーション)

補足

  • -修正バージョン未公開のため、コードレベルでの対策が必要
CVEnpmnode-tesseract-ocrOSコマンドインジェクションNode.js

概要

npm パッケージ node-tesseract-ocr(Tesseract OCR の Node.js ラッパー)の全バージョン(2.2.1 以下)に、OS コマンドインジェクション脆弱性が存在します。

src/index.js 内の recognize() 関数において、file パスパラメーターがサニタイズされずにシェルコマンド文字列に連結され、child_process.exec() に渡されます。攻撃者がファイルパス引数を制御できる場合、任意の OS コマンドを実行できます。

この脆弱性は以下のような状況で悪用される可能性があります:

  • ユーザーがアップロードしたファイルをそのまま recognize() に渡している場合
  • 外部からのリクエストパラメーターをファイルパスとして使用している場合
  • Webアプリケーションで OCR 処理を提供しているサービス

CVSSベクトル

項目
CVSS バージョン4.0
ベクトルAV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H
攻撃経路(AV)ネットワーク
攻撃の複雑さ(AC)
攻撃要件(AT)あり(ファイルパス制御が必要)
必要な権限(PR)不要
ユーザーインタラクション(UI)あり
機密性への影響(VC)
完全性への影響(VI)
可用性への影響(VA)

影響を受けるソフトウェア

製品ベンダー影響バージョン
node-tesseract-ocrzapolnoch≤ 2.2.1(全バージョン)

修正バージョンと回避策

修正バージョン: 現時点で修正バージョンは公開されていません。

回避策:

  1. ユーザー入力や外部データをファイルパスとして recognize() に渡さない
  2. ファイルパスを使用する前に厳密な許可リストベースの検証を実施する
  3. 代替の OCR ライブラリ(tesseract.js 等)への移行を検討する
// NG: ユーザー入力を直接渡す
const result = await tesseract.recognize(req.body.filePath);

// OK: 固定パスまたは厳密に検証されたパスのみ使用
const safePath = path.join('/safe/uploads/', path.basename(req.body.filename));
const result = await tesseract.recognize(safePath);

関連リンク


データソース: NVD (NIST), GitHub Advisory Database AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。

Xでシェアはてブ
データソース: NVD (NIST), OSV (Google), GitHub Advisory Database, JVN iPedia (IPA/JPCERT/CC)
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。