Intel

AIKIDO-2026-943815

ppmd-rust is vulnerable to Heap-based Buffer Overflow

Heap-based Buffer OverflowGHSA-rqc2-j9v2-j22v Published 3 days ago

81

High Risk

This Affects:

RUSTppmd-rust
1.1.1 - 1.4.0
Fixed in 1.4.1
Are you affected? Scan for Free

TL;DR

The PPMd8 decoder in ppmd-rust mishandles model-restoration bookkeeping, turning an inconsistent model state directly into raw heap pointer arithmetic with no bounds or tag check. A crafted PPMd-compressed stream, such as a ZIP entry using compression method 98 whose restoration method does not match the one the encoder used, drives the decoder into the cut_off reduction path with corrupt accounting. This produces out-of-bounds heap reads and writes, including an oversized unit copy and a write through a freed pointer, corrupting memory during routine decompression of untrusted input. The fix corrects the frequency accumulation, flag handling, stats relocation copy size, successor write cursor, and restart-guard accounting so the decoder stays inside the model arena.

Who does this affect?

You are affected if you are using a version that falls within the vulnerable range and you decompress untrusted PPMd-compressed data, such as ZIP entries using compression method 98.

Background info

ppmd-rust is vulnerable to Heap-based Buffer Overflow in versions 1.1.1 - 1.4.0.

How to fix this

Upgrade the ppmd-rust library to the patch version.

Are You Affected?

Connect your repositories to instantly see whether vulnerable or malicious packages exist in your codebase.

Free. No credit card required.

Aikido Platform