Description (CNA)
An out-of-bounds heap write exists in the RAR5 recovery-volume (.rev) parser in WinRAR and UnRAR (RecVolumes5::ReadHeader in recvol5.cpp). The RecItems vector is sized only when the first .rev file in a set is processed; subsequent .rev files supply an independent RecNum value that is validated against that file's own TotalCount field but never against the actual size of RecItems. A crafted set of two or more .rev files can therefore write an attacker-controlled 32-bit value (the header's RevCRC field) to RecItems[RecNum] at an attacker-controlled offset up to 65534 * sizeof(RecVolItem) bytes past the allocation, corrupting adjacent heap objects. Triggering requires the victim to run a recovery/test operation on an attacker-supplied .rev set (for example 'unrar t x.part1.rev', WinRAR 'Repair archive', or auto-recovery when extracting a volume set with a missing .rar part). This is the RAR5-path sibling of CVE-2023-40477 (which was fixed in the RAR3 path only in WinRAR 6.23). Fixed in WinRAR / RAR 7.23.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| RARLAB / WinRAR | affected 0 before 7.23 |
| RARLAB / RAR | affected 0 before 7.23 |
| RARLAB / UnRAR | affected 0 through 7.21 |
| RARLAB / UnRAR.dll | affected 0 before 7.23 |
CWE
CWE-787, CWE-129
References
- https://www.rarlab.com/download.htm
- https://nvd.nist.gov/vuln/detail/CVE-2023-40477
- https://www.securin.io/zero-days/cve-2026-14191-winrar-unrar-rar5-recovery-volume-rev-out-of-bounds-heap-write-in-recvolumes5-readheader
ADP enrichment
No English description supplied.
No references supplied.