OpenH264 Rust API Openh264 Decoding Functions Heap Overflow VulnerabilityGHSA-5pmw-9j92-3c4c
Fix: cisco/openh264#3818GHSA-5pmw-9j92-3c4c is a remote code execution vulnerability in openh264-sys2. A fix is available for openh264-sys2 — see the affected versions and patch details below.
Real-World Exposure
openh264-sys2Real-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
OpenH264 recently reported a heap overflow that was fixed in upstream 63db555 and integrated into our 0.6.6 release. For users relying on Cisco's pre-compiled DLL, we also published 0.8.0, which is compatible with their latest fixed DLL version 2.6.0.
In other words:
- if you rely on our
sourcefeature only, >=0.6.6 should be safe, - if you rely on
libloading, you must upgrade to 0.8.0 and use their latest DLL >=2.6.0.
Users handling untrusted video files should update immediately.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🦀crates.io | openh264-sys2 | all versions | 0.8.0cargo update -p openh264-sys2 --precise 0.8.0 |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for openh264-sys2, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update openh264-sys2 to 0.8.0 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-5pmw-9j92-3c4c 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 GHSA-5pmw-9j92-3c4c in your dependencies?
Find it across crates.io, including transitive dependencies.