Read the docs
TI-2026-85262 Aliases CVE-2026-77372

Heap overflow and out-of-bounds read in VeraCrypt deserialization

Priority LOW 37CWE-125Published · Updated

Key facts

Attack vector
Local
Privileges required
Low
User interaction
None
Attack complexity
High
Attack requirements
Present
Impact type
Code execution
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-787 and the CVSS impact.

Summary

VeraCrypt before 1.26.30 accepts untrusted length and count values when deserializing data on Unix, macOS, and FreeBSD. These values can overflow a heap allocation or read beyond a buffer (CWE-787), and can also exhaust memory. A local user with low privileges can reach this path through the unprivileged GUI or CLI, which passes data to the root CoreService helper. The source describes this as a local defense-in-depth boundary rather than a remote attack.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

Description from the CNA

VeraCrypt provides disk encryption with strong security based on TrueCrypt. Prior to 1.26.30, the Unix, macOS, and FreeBSD serialization paths in src/Platform/Serializer.cpp and src/Volume/VolumePassword.cpp accept untrusted length and count values when deserializing data that can cross from the unprivileged GUI or CLI to the root CoreService helper. Serializer::DeserializeWString allocates floor(size / sizeof(wchar_t)) elements but reads size bytes, so a non-aligned size can overflow the heap allocation. VolumePassword::Deserialize accepts PasswordSize values larger than the fixed 128-byte PasswordBuffer, allowing downstream DataPtr() and Size() consumers such as the KDF to read beyond the buffer. DeserializeString, DeserializeWString, and the string and wide-string list readers also lack allocation and collection bounds, which can exhaust memory, and a zero-length DeserializeString can access an empty vector. Windows uses a different path, and the immediate CoreService pipe writer is the same-user parent process, so the documented exposure is a local defense-in-depth boundary rather than a remote attack. This issue is fixed in 1.26.30.

Why it matters now

EPSS 0.00098 0th percentileScored 2026-11-07
Fix Fixed VeraCrypt (veracrypt): 1.26.30

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
veracryptVeraCryptbefore 1.26.301.26.30Patch availableCNA
  • VeraCrypt Vendorveracrypt Affected before 1.26.30 Fixed in 1.26.30 Patch available CNA

Remediation

Update VeraCrypt to version 1.26.30, which fixes this issue.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

  • Fix · CNA VeraCrypt (veracrypt) Fixed in 1.26.30

Vendor assessments

Red Hat

Red Hat's page for this CVE →

Not affected: 1 product
  • Red Hat

Timeline

  1. 2026-11-04 Threatist record created from CVE-2026-77372
  2. 2026-11-06 Priority changed: MEDIUM → LOW
  3. 2026-11-06 Affected versions changed · Red Hat
  4. 2026-11-06 CVSS score added · Red Hat

References

  • TI-2026-38769 VeraCryp: wolfCrypt backend bypasses VeraCrypt PBKDF2 iteration count (non-default WOLFCRYPT=1 builds) CVSS 3.1MEDIUM 6.2
  • TI-2026-39004 VeraCrypt: Hidden volume quick format weakens plausible deniability CVSS 4.0MEDIUM 4.6
  • TI-2026-74032 Missing authorization in VeraCrypt driver exposes disk metadata CVSS 3.1LOW 3.3

Sources