Description
Blosc c-blosc2 before 3.5.0 contains a divide-by-zero vulnerability in blosc2_schunk_get_slice_buffer() in blosc/schunk.c that allows attackers to crash applications by supplying crafted frames with unchecked zero chunksize or blocksize values. Attackers can provide a malicious Blosc2 frame opened via blosc2_schunk_open() or blosc2_schunk_from_buffer() and read as a slice, raising SIGFPE and terminating the process.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Blosc | c-blosc2 | < 3.5.0 | 3.5.0 |
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 | c-blosc2 | No fix yet | — |
| Debian 13 | c-blosc2 | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | c-blosc2 | No fix yet | — |
| Ubuntu 26.04 LTS | c-blosc2 | No fix yet | — |
| Ubuntu 24.04 LTS | c-blosc2 | No fix yet | — |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | blosc | No fix yet | — |
References
- https://github.com/Blosc/c-blosc2/issues/834 issue-tracking
- https://github.com/Blosc/c-blosc2/commit/4fff1787408d94b895c6f9cb50f7925ad5919052 patch
- https://github.com/Blosc/c-blosc2/blob/v3.4.1/blosc/schunk.c#L1662-L1700 technical-description
- https://github.com/Blosc/c-blosc2/blob/v3.4.1/blosc/frame.c#L1214-L1227 technical-description
- https://hackmd.io/@haindpwn/c-blosc2-schunk-slice-divide-by-zero third-party-advisory
- https://github.com/Blosc/c-blosc2 product
- VulnCheck Advisory: Blosc c-blosc2 before 3.5.0 Divide-by-Zero via blosc2_schunk_get_slice_buffer() third-party-advisory