Skip to main content
← Vulnerabilities

libaec through 1.1.7 Out-of-Bounds Read via m_se_decode() Second Extension Decoder

5.8MediumCNA
Exploited
Proof of concept public, per CISA
Fix
Fix or patch referenced
Who is exposed
Specific setups only

Do first: Check whether your setup matches what the bug needs. Caller uses the streaming decoder with an output buffer smaller than one output block, which selects the slow decoder path. Compressed stream selects the Second Extension sub-option in a low-entropy block. Stream contains a first fundamental sequence with a zero run of at least 2^31 bits before its terminating one bit. Tested against libaec v1.1.7; current main branch was also reported as affected.

Published
Last modified
Published
Not listed in CISA KEV
26/100 · provisional
Specific setups only
Fix
Fix or patch referenced
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: partial

Summary

libaec through 1.1.7 contains an out-of-bounds read vulnerability in m_se_decode() in src/decode.c that allows attackers to bypass a signed bounds check via an overlong fundamental sequence. Attackers can supply a crafted CCSDS 121.0/SZIP stream with 2^31 or more zero bits to crash the decoder or leak adjacent memory into decoded samples.

What to do

  • Check whether your setup matches what the bug needs.

    Caller uses the streaming decoder with an output buffer smaller than one output block, which selects the slow decoder path. Compressed stream selects the Second Extension sub-option in a low-entropy block. Stream contains a first fundamental sequence with a zero run of at least 2^31 bits before its terminating one bit. Tested against libaec v1.1.7; current main branch was also reported as affected.
  • Apply the patch listed under Evidence.

Timeline

  1. CVE published
  2. First seen by cve.now
  3. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: partial

  4. Record last updated

Affected versions

  • Deutsches Klimarechenzentrum libaec

    through 1.1.7

Evidence 6

  1. Patch
  2. Report
  3. Repository
  4. Repository
  5. Link
  6. Link

Corrections

None so far.

Something wrong on this page? Report an error. Every fix is listed here.

FAQ

Questions about CVE-2026-120457

What does this mean?

A crafted compressed stream can make libaec read past the end of a heap buffer while decoding. The main effect is a denial of service through a process crash, and adjacent heap memory may be exposed through decoded output samples.Source: github.com

Am I affected, and how do I check?

Versions through libaec 1.1.7 are listed as affected, and the reporter also said the current main branch was affected. The exposure needs the streaming decoder with an output buffer smaller than one output block, and a stream that uses the Second Extension sub-option in a low-entropy block with a first fundamental sequence holding a zero run of at least 2^31 bits. To check a version, look at the libaec release in use.Source: github.com

What should I do about it?

No fixed version is listed in the checked facts, so no upgrade target can be given from this record. Check the libaec project for a release newer than 1.1.7 or a commit that addresses this issue.Source: github.com

Is it being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. CISA's SSVC assessment notes a proof of concept exists. No public exploit code is tracked.Source: cve.now feed data