YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
ArmNN Flatbuffers Deserializer β Stack Buffer Overflow (CWE-787) PoC
Vulnerability
CWE-787: Out-of-bounds Write (stack-buffer-overflow) in armnnDeserializer::ToTensorInfo().
- Project: ARM-software/armnn
- Affected version:
v26.07(commit944dced7), also present inmainas of 2026-07-28 - Vulnerable file:
src/armnnDeserializer/Deserializer.cpp:746,753-756 - Root cause: Fixed-size stack array
bool dimensionsSpecificity[5]is written with attacker-controlledsizefrom a Flatbuffers vector β no upper-bound clamp againstMaxNumOfTensorDimensions(5). Structurally valid.armnnfiles pass FlatbuffersVerify()but overflow the stack buffer at model-load time.
Files in this repository
| File | Description |
|---|---|
min_7.armnn |
PoC β minimal .armnn model file with dimensionSpecificity.size()=7 (>5), triggers ASAN stack-buffer-overflow at Deserializer.cpp:756 |
min_7.json |
Source JSON for min_7.armnn (built with flatc --binary ArmnnSchema.fbs min_7.json) |
control.armnn |
Negative control β identical graph, dimensionSpecificity.size()=4 (β€5), loads cleanly with no crash |
control.json |
Source JSON for control.armnn |
Reproduction
LD_LIBRARY_PATH=build ASAN_OPTIONS=detect_leaks=0 ./armnn_harness min_7.armnn # ASAN crash
LD_LIBRARY_PATH=build ASAN_OPTIONS=detect_leaks=0 ./armnn_harness control.armnn # clean, exit 0
Build: ArmNN v26.07 with -fsanitize=address, backends OFF. Harness calls the public API IDeserializer::CreateNetworkFromBinary() β the exact code path any application uses to load .armnn models.
Disclaimer
This is a benign proof-of-concept submitted for responsible disclosure under the huntr.com Model File Vulnerability program. The PoC file causes a controlled AddressSanitizer-detected crash for verification purposes only and does not contain malicious payloads.
Inference Providers NEW
This model isn't deployed by any Inference Provider. π Ask for provider support