CVE-2019-15550 is a high-severity (CVSS 7.5) Out-of-bounds Read vulnerability in simd-json. A fix is available for simd-json — see the affected versions and patch details below.
Out of bounds read in simd-json
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
CVE-2019-15550 by exploitation likelihood (EPSS) against impact (CVSS). Outside the shaded patch-first corner.
Where this sits among everything scored
Of 385,386 CVEs with a current EPSS score, this one falls in the < 10% band (highlighted). Counts from FIRST.org, log-scaled.
Real-World Exposure
simd-jsonReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects crates.io packages — download data is not available via public APIs for these ecosystems.
Description
The affected version of this crate did not guard against accessing memory beyond the range of its input data. A pointer cast to read the data into a 256-bit register could lead to a segmentation fault when the end plus the 32 bytes (256 bit) read would overlap into the next page during string parsing. This allows an attacker to eventually crash a service. The flaw was corrected by using a padding buffer for the last read from the input. So that we are we never read over the boundary of the input data.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🦀crates.io | simd-json | ≥ 0.1.13&&< 0.1.15 | 0.1.15cargo update -p simd-json --precise 0.1.15 |
Affected Products
simdjsonsimdjson_projectDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for simd-json, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update simd-json to 0.1.15 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2019-15550 is resolved across your whole dependency graph.
Workarounds
Stop feeding it untrusted input: reject or quarantine files and payloads from unverified sources until you can upgrade, restrict accepted formats to the ones you actually need, and run the parsing or decoding step in a least-privileged sandbox or short-lived worker so a crash or corrupted read cannot reach the rest of the process.
Frequently Asked Questions
Is CVE-2019-15550 in your dependencies?
Find it across crates.io, including transitive dependencies.