Description
Libyal libpff through 20260926 contains an integer underflow in libpff_record_entry_get_multi_value() that allows attackers to trigger heap out-of-bounds reads via non-monotonic multi-value offsets. Attackers can craft PST, OST or PAB files with decreasing PT_MV_STRING8, PT_MV_UNICODE or PT_MV_BINARY offsets to crash libpff, pypff or pffexport and expose adjacent heap memory.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| libyal | libpff | ≤ 20260926 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | libpff | No fix yet | — |
| Debian 13 | libpff | No fix yet | — |
| Debian 12 | libpff | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | libpff | No fix yet | — |
| Ubuntu 26.04 LTS | libpff | No fix yet | — |
| Ubuntu 24.04 LTS | libpff | No fix yet | — |
| Ubuntu 22.04 LTS | libpff | No fix yet | — |
| Ubuntu 20.04 LTS | libpff | No fix yet | — |
Show 2 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 18.04 LTS | libpff | No fix yet | — |
| Ubuntu 16.04 LTS | libpff | No fix yet | — |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | libpff | 20261030-1.1 | openSUSE-SU-2026:12498-1 |
Advisories 1
- openSUSE-SU-2026:12498-1 libpff-devel-20261030-1.1 on GA media SUSE / openSUSE Security Updates · Nov 10, 2026
References
- https://hackmd.io/@haind-pwn/libpff-multivalue-offset-underflow-oob-read third-party-advisory
- https://github.com/libyal/libpff/blob/03545511ab7a7a609e50ec715bdd3985c3be71c5/libpff/libpff_record_entry.c#L2825-L2874 technical-description
- https://github.com/libyal/libpff/blob/03545511ab7a7a609e50ec715bdd3985c3be71c5/libpff/libpff_multi_value.c#L207-L271 technical-description
- VulnCheck Advisory: Libyal libpff through 20260926 heap out-of-bounds read via libpff_record_entry_get_multi_value third-party-advisory