Vulnerability in exifreader (CVE-2026-8814)
Summary
Vulnerability in exifreader (CVE-2026-8814). Risk of unauthorized operations or information disclosure. Exploitable via zTXt. Mitigation: upgrade to 4.39.0 or later.
Original description
The description as published by the source.
Impact
Versions of ExifReader from 4.20.0 through 4.38.1 do not bound the size of decompressed metadata blocks. When a caller invokes the asynchronous API (e.g. ExifReader.load(file) or ExifReader.load(buffer, {async: true})) on an attacker-supplied image, a small compressed chunk in the file can expand to hundreds of megabytes of memory, consuming heap and CPU until the process slows down or runs out of memory.
The affected paths share a single decompression utility, so the issue is reachable through any compressed metadata block the library handles asynchronously, including:
- PNG
zTXt, compressediTXt, andiCCPchunks (deflate) - JPEG XL Brotli-compressed Exif and XMP blocks
A typical proof of concept produced roughly 1000× expansion (for example, ~32 KB of compressed input expanded to ~32 MB of output, ~130 KB to ~128 MB).
Both the npm package and the dist/ bundle published from this repository (consumed by Bower and other users of the prebuilt artifact) are affected.
Patches
Fixed in 4.39.0. The decompression utility now reads the decompressed stream incrementally and aborts as soon as the running total would exceed a configurable limit. The default cap is 128 MiB per metadata block, which is well above any realistic legitimate value. When a block exceeds the cap, that block is skipped (a warning is emitted via console.warn) and the remaining tags are returned as usual.
The cap is configurable via the new maxDecompressedSize field…
Source: NIST National Vulnerability Database NVD GitHub Advisory
Auto-generated summary
Assembled by SecPulse from the source data (CVSS, CWE, affected versions) using templates — no AI involved. Check the original description and references below for exact details.
A vulnerability tracked as CVE-2026-8814 has been found in exifreader.
Attackers can target a specific entry point like zTXt over the network to misuse the product.
Risk of unauthorized operations or information disclosure. CVSS score: 5.3/10.
What to do: upgrade exifreader to 4.39.0 or later.
If unsure, ask your IT team or search "exifreader CVE-2026-8814" on the vendor's site.
CVE-2026-8814 (exifreader) — CWE-409 / CVSS v3 5.3
Attack vector: remote (network-reachable) / unauthenticated / no user interaction
Attack surface: zTXt / iTXt / iCCP / console.warn
Patched: 4.39.0 — apply immediately
Workaround: - If upgrading is not possible, avoid invoking the asynchronous API on untrusted inputs.
Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs.
Refs: see the GHSA / vendor advisory / patched release linked on this page.
A vulnerability (CWE-409) exists in exifreader. Attackers reach the vulnerable code path via zTXt without authentication.
Check the vendor advisory for the affected versions of exifreader. Attack surface: zTXt / iTXt / iCCP / console.warn.
Severity: Medium (CVSS 5.3/10). Risk of unauthorized operations or information disclosure.
Update to 4.39.0.
Workaround: - If upgrading is not possible, avoid invoking the asynchronous API on untrusted inputs.
Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Run grep -r 'exifreader' . against your dependency files (package-lock.json, requirements.txt, go.sum) to find affected services.
Response actions
Concrete steps and command examples for SOC/SRE teams to execute in order
-
1Identify exposure identify
grep -r 'exifreader' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
exifreaderを grep し、稼働しているサービス・バージョンを把握する。 -
2Apply temporary workaround mitigate
- If upgrading is not possible, avoid invoking the asynchronous API on untrusted inputs.パッチが適用されるまでの応急処置として、- If upgrading is not possible, avoid invoking the asynchronous API on untrusted inputs. を実施。回避策の副作用 (機能低下) を確認した上で。
-
3Apply patch patch
Upgrade exifreader to 4.39.0ステージング環境で 4.39.0 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。
-
4Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。
Affected packages
References
- advisory nvd.nist.gov
- package github.com
- web report@snyk.io
- web github.com
- web security.snyk.io
- web github.com
- web github.com