wulonchia's picture
Add README
cff8424 verified
---
license: mit
---
# Apache Avro C Integer Overflow PoC
This repository contains a proof-of-concept Avro file that triggers signed integer overflow (undefined behavior) in the Apache Avro C library.
## Files
- `avro_poc.avro` - Crafted Avro file with `block_count = INT64_MIN`
- `generate_poc.py` - Python script to generate the PoC file
## Vulnerability
The Avro C library negates negative block counts via `block_count * -1`. When `block_count` is `INT64_MIN` (-2^63), this overflows because 2^63 cannot be represented as `int64_t`.
This triggers undefined behavior in 6 locations across `value-read.c`, `consume-binary.c`, and `datum_skip.c`.
## Reproduction
Build Avro C with UBSan and read the PoC file to see the runtime errors.