
Sicherheitshinweis für node-tesseract-ocr ⌯⌲ 50 000 wöchentliche Downloads
node-tesseract-ocr bis einschließlich Version 2.2.1 ermöglicht eine OS-Befehlsinjizierung in recognize() in src/index.js. Das Paket erstellt eine Shell-Befehlszeichenfolge und führt sie mit child_process.exec() aus. Da der Eingabepfad nur in doppelte Anführungszeichen gesetzt wird, kann ein Angreifer über einen manipulierten Dateipfad Shell-Syntax injizieren.
| Produkt | Betroffene Versionen | Behobene Version |
|---|
| node-tesseract-ocr | alle Versionen bis einschließlich 2.2.1 | kein Fix verfügbar (Stand: 2026-03-24) |
CVE-2026-26832CWE-78 – OS-Befehlsinjizierung9.8 (Kritisch)CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:Hsrc/index.js, recognize()Das verwundbare Muster ist:
const command = [binary, inputOption, "stdout", ...options].join(" ");
exec(command, ...);
Diese Befehlszeichenfolge unterliegt der Shell-Interpretation. Ein bösartiger Dateipfad kann aus dem in Anführungszeichen gesetzten Argument ausbrechen.
Anwendungen, die OCR auf benutzerbereitgestellten Bildern ausführen, können das Hostsystem einer Befehlsausführung aussetzen, wenn sie nicht vertrauenswürdige Pfade an recognize() übergeben.
test.jpg"; touch /tmp/pwned; echo "x
Zum Zeitpunkt der Erstellung dieses Dokuments ist keine behobene npm-Version verfügbar.
Falls Sie weiterhin von diesem Paket abhängig sind:
join(" ").execFile() oder spawn() mit expliziten Argumenten.