{"id":"CVE-2026-14191","aliases":["BELL-CVE-2026-14191","DEBIAN-CVE-2026-14191","EUVD-2026-40869","GHSA-5hjj-fvq6-8j36","UBUNTU-CVE-2026-14191"],"status":"published","title":"WinRAR / UnRAR RAR5 recovery-volume (.rev) out-of-bounds heap write in RecVolumes5::ReadHeader","description":"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.","severity":{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00437,"percentile":0.38326,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":true,"fix_available":true},"cwes":["CWE-129","CWE-787"],"published":"2026-07-01T02:41:39Z","modified":"2026-10-17T12:58:45Z","exploits":[{"source":"pocgithub","id":"HORKimhab/CVE-2026-14191","title":"HORKimhab/CVE-2026-14191","date":"2026-07-07","url":"https://github.com/HORKimhab/CVE-2026-14191"}],"fixes":[{"ecosystem":"Alpaquita:23","package":"unrar","fixed_in":["7.2.7-r0"],"sources":["osv"]},{"ecosystem":"Alpaquita:25","package":"unrar","fixed_in":["7.2.7-r0"],"sources":["osv"]},{"ecosystem":"Alpaquita:stream","package":"unrar","fixed_in":["7.2.7-r0"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"rar","fixed_in":["2:7.23-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"unrar-nonfree","fixed_in":["1:7.2.7-1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Alpaquita:23","package":"unrar","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"7.1.1-r0"},{"fixed":"7.2.7-r0"}]}]},{"source":"osv","ecosystem":"Alpaquita:25","package":"unrar","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"7.1.1-r0"},{"fixed":"7.2.7-r0"}]}]},{"source":"osv","ecosystem":"Alpaquita:stream","package":"unrar","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"7.1.1-r0"},{"fixed":"7.2.7-r0"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"rar","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:3.5.1-1","1:3.6.0-1","1:3.7.1-1","1:3.7.1-2","1:3.7b1-1","1:3.7b1-2","1:3.8.0-1","1:3.8.0-2","1:3.8b2-1","1:3.8b2-2","1:3.8b3-1","1:3.9.b2-1","1:3.9.b3-1","2.02-2","2.60-1","2.80-2","2:3.9.0-1","2:3.9.1-1","2:3.9.2-1","2:3.9.3-1","2:4.0.b2-1","2:4.0.b3-1","2:4.2.0+dfsg.1-0.1","2:4.2.0-1","2:5.2.1b2-1","2:5.3.b2-1","2:5.4.0+dfsg.1-0.1","2:5.4.0-1","2:5.5.0-1","2:5.5.0-1.1","2:6.11-0.1","2:6.20-0.1","2:6.20-0.1~deb10u1","2:6.20-0.1~deb11u1","2:6.20~b1-0.1","2:6.23-1","2:6.23-1~deb10u1","2:6.23-1~deb11u1","2:6.23-1~deb12u1","2:7.00-1","2:7.01-1","2:7.01-1~deb12u1","2:7.10-1","2:7.10-2","2:7.10~b1-1","2:7.10~b1-2","2:7.11-1","2:7.12-1","2:7.20-1","2:7.22-1","2:7.23-1","3.30-2"]},{"source":"osv","ecosystem":"Debian:13","package":"rar","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:3.5.1-1","1:3.6.0-1","1:3.7.1-1","1:3.7.1-2","1:3.7b1-1","1:3.7b1-2","1:3.8.0-1","1:3.8.0-2","1:3.8b2-1","1:3.8b2-2","1:3.8b3-1","1:3.9.b2-1","1:3.9.b3-1","2.02-2","2.60-1","2.80-2","2:3.9.0-1","2:3.9.1-1","2:3.9.2-1","2:3.9.3-1","2:4.0.b2-1","2:4.0.b3-1","2:4.2.0+dfsg.1-0.1","2:4.2.0-1","2:5.2.1b2-1","2:5.3.b2-1","2:5.4.0+dfsg.1-0.1","2:5.4.0-1","2:5.5.0-1","2:5.5.0-1.1","2:6.11-0.1","2:6.20-0.1","2:6.20-0.1~deb10u1","2:6.20-0.1~deb11u1","2:6.20~b1-0.1","2:6.23-1","2:6.23-1~deb10u1","2:6.23-1~deb11u1","2:6.23-1~deb12u1","2:7.00-1","2:7.01-1","2:7.01-1~deb12u1","2:7.10-1","2:7.10-2","2:7.10~b1-1","2:7.10~b1-2","2:7.11-1","2:7.12-1","2:7.20-1","2:7.22-1","2:7.23-1","3.30-2"]},{"source":"osv","ecosystem":"Debian:14","package":"rar","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2:7.23-1"}]}],"versions":["1:3.5.1-1","1:3.6.0-1","1:3.7.1-1","1:3.7.1-2","1:3.7b1-1","1:3.7b1-2","1:3.8.0-1","1:3.8.0-2","1:3.8b2-1","1:3.8b2-2","1:3.8b3-1","1:3.9.b2-1","1:3.9.b3-1","2.02-2","2.60-1","2.80-2","2:3.9.0-1","2:3.9.1-1","2:3.9.2-1","2:3.9.3-1","2:4.0.b2-1","2:4.0.b3-1","2:4.2.0+dfsg.1-0.1","2:4.2.0-1","2:5.2.1b2-1","2:5.3.b2-1","2:5.4.0+dfsg.1-0.1","2:5.4.0-1","2:5.5.0-1","2:5.5.0-1.1","2:6.11-0.1","2:6.20-0.1","2:6.20-0.1~deb10u1","2:6.20-0.1~deb11u1","2:6.20~b1-0.1","2:6.23-1","2:6.23-1~deb10u1","2:6.23-1~deb11u1","2:6.23-1~deb12u1","2:7.00-1","2:7.01-1","2:7.01-1~deb12u1","2:7.10-1","2:7.10-2","2:7.10~b1-1","2:7.10~b1-2","2:7.11-1","2:7.12-1","2:7.20-1","2:7.22-1","3.30-2"]},{"source":"osv","ecosystem":"Debian:12","package":"unrar-nonfree","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:3.5.2-0.1","1:3.5.2-0.2","1:3.5.4-0.1","1:3.5.4-1","1:3.5.4-1.1","1:3.7.2-1","1:3.7.3-1","1:3.7.3-1.1","1:3.7.8-1","1:3.7.8-2","1:3.8.2-1","1:3.8.4-1","1:3.8.5-1","1:3.8.5-2","1:3.9.10-1","1:3.9.3-1","1:3.9.5-1","1:3.9.6-1","1:3.9.7-1","1:3.9.9-1","1:4.0.2-1","1:4.0.3-1","1:4.1.4-1","1:4.2.4-0.1","1:4.2.4-0.2","1:4.2.4-0.3","1:5.0.10-1","1:5.2.5-1","1:5.2.7-0.1","1:5.3.2-1","1:5.4.5-1","1:5.5.5-1","1:5.5.8-1","1:5.6.6-1","1:5.6.6-2","1:5.9.4-1","1:6.0.3-1","1:6.0.4-1","1:6.0.4-2","1:6.0.5-1","1:6.0.6-1","1:6.0.7-1","1:6.0.7-2","1:6.0.7-3","1:6.0.7-4","1:6.0.7-5","1:6.0.7-6","1:6.1.2-1","1:6.1.3-1","1:6.1.3-2","1:6.1.4-1","1:6.1.5-1","1:6.1.6-1","1:6.1.6-2","1:6.1.6-3","1:6.1.7-1","1:6.1.7-2","1:6.1.7-3","1:6.1.7-4","1:6.2.1-1","1:6.2.1-2","1:6.2.10-1","1:6.2.10-2","1:6.2.11-1","1:6.2.12-1","1:6.2.2-1","1:6.2.2-2","1:6.2.3-1","1:6.2.3-2","1:6.2.5-1","1:6.2.6-1","1:6.2.6-1+deb12u1","1:6.2.7-1","1:6.2.8-1","1:6.2.9-1","1:7.0.1-1","1:7.0.1-2","1:7.0.2-1","1:7.0.3-1","1:7.0.4-1","1:7.0.5-1","1:7.0.6-1","1:7.0.6-1.1","1:7.0.6-1.1~exp1","1:7.0.7-1","1:7.0.8-1","1:7.0.9-1","1:7.1.1-1","1:7.1.10-1","1:7.1.10-2","1:7.1.10-3","1:7.1.2-1","1:7.1.2-2","1:7.1.2-3","1:7.1.3-1","1:7.1.4-1","1:7.1.4-2","1:7.1.5-1","1:7.1.5-2","1:7.1.5-3","1:7.1.6-1","1:7.1.7-1","1:7.1.8-1","1:7.1.9-1","1:7.2.1-1","1:7.2.2-1","1:7.2.3-1","1:7.2.3-2","1:7.2.4-1","1:7.2.5-1","1:7.2.5-2","1:7.2.6-1","1:7.2.7-1","1:7.2.7-2","1:7.3.1-1","3.3.6-2","3.3.6-2.0.1","3.4.3-1"]},{"source":"osv","ecosystem":"Debian:13","package":"unrar-nonfree","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:3.5.2-0.1","1:3.5.2-0.2","1:3.5.4-0.1","1:3.5.4-1","1:3.5.4-1.1","1:3.7.2-1","1:3.7.3-1","1:3.7.3-1.1","1:3.7.8-1","1:3.7.8-2","1:3.8.2-1","1:3.8.4-1","1:3.8.5-1","1:3.8.5-2","1:3.9.10-1","1:3.9.3-1","1:3.9.5-1","1:3.9.6-1","1:3.9.7-1","1:3.9.9-1","1:4.0.2-1","1:4.0.3-1","1:4.1.4-1","1:4.2.4-0.1","1:4.2.4-0.2","1:4.2.4-0.3","1:5.0.10-1","1:5.2.5-1","1:5.2.7-0.1","1:5.3.2-1","1:5.4.5-1","1:5.5.5-1","1:5.5.8-1","1:5.6.6-1","1:5.6.6-2","1:5.9.4-1","1:6.0.3-1","1:6.0.4-1","1:6.0.4-2","1:6.0.5-1","1:6.0.6-1","1:6.0.7-1","1:6.0.7-2","1:6.0.7-3","1:6.0.7-4","1:6.0.7-5","1:6.0.7-6","1:6.1.2-1","1:6.1.3-1","1:6.1.3-2","1:6.1.4-1","1:6.1.5-1","1:6.1.6-1","1:6.1.6-2","1:6.1.6-3","1:6.1.7-1","1:6.1.7-2","1:6.1.7-3","1:6.1.7-4","1:6.2.1-1","1:6.2.1-2","1:6.2.10-1","1:6.2.10-2","1:6.2.11-1","1:6.2.12-1","1:6.2.2-1","1:6.2.2-2","1:6.2.3-1","1:6.2.3-2","1:6.2.5-1","1:6.2.6-1","1:6.2.7-1","1:6.2.8-1","1:6.2.9-1","1:7.0.1-1","1:7.0.1-2","1:7.0.2-1","1:7.0.3-1","1:7.0.4-1","1:7.0.5-1","1:7.0.6-1","1:7.0.6-1.1","1:7.0.6-1.1~exp1","1:7.0.7-1","1:7.0.8-1","1:7.0.9-1","1:7.1.1-1","1:7.1.10-1","1:7.1.10-2","1:7.1.10-3","1:7.1.2-1","1:7.1.2-2","1:7.1.2-3","1:7.1.3-1","1:7.1.4-1","1:7.1.4-2","1:7.1.5-1","1:7.1.5-2","1:7.1.5-3","1:7.1.6-1","1:7.1.7-1","1:7.1.8-1","1:7.1.9-1","1:7.2.1-1","1:7.2.2-1","1:7.2.3-1","1:7.2.3-2","1:7.2.4-1","1:7.2.5-1","1:7.2.5-2","1:7.2.6-1","1:7.2.7-1","1:7.2.7-2","1:7.3.1-1","3.3.6-2","3.3.6-2.0.1","3.4.3-1"]},{"source":"osv","ecosystem":"Debian:14","package":"unrar-nonfree","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:7.2.7-1"}]}],"versions":["1:3.5.2-0.1","1:3.5.2-0.2","1:3.5.4-0.1","1:3.5.4-1","1:3.5.4-1.1","1:3.7.2-1","1:3.7.3-1","1:3.7.3-1.1","1:3.7.8-1","1:3.7.8-2","1:3.8.2-1","1:3.8.4-1","1:3.8.5-1","1:3.8.5-2","1:3.9.10-1","1:3.9.3-1","1:3.9.5-1","1:3.9.6-1","1:3.9.7-1","1:3.9.9-1","1:4.0.2-1","1:4.0.3-1","1:4.1.4-1","1:4.2.4-0.1","1:4.2.4-0.2","1:4.2.4-0.3","1:5.0.10-1","1:5.2.5-1","1:5.2.7-0.1","1:5.3.2-1","1:5.4.5-1","1:5.5.5-1","1:5.5.8-1","1:5.6.6-1","1:5.6.6-2","1:5.9.4-1","1:6.0.3-1","1:6.0.4-1","1:6.0.4-2","1:6.0.5-1","1:6.0.6-1","1:6.0.7-1","1:6.0.7-2","1:6.0.7-3","1:6.0.7-4","1:6.0.7-5","1:6.0.7-6","1:6.1.2-1","1:6.1.3-1","1:6.1.3-2","1:6.1.4-1","1:6.1.5-1","1:6.1.6-1","1:6.1.6-2","1:6.1.6-3","1:6.1.7-1","1:6.1.7-2","1:6.1.7-3","1:6.1.7-4","1:6.2.1-1","1:6.2.1-2","1:6.2.10-1","1:6.2.10-2","1:6.2.11-1","1:6.2.12-1","1:6.2.2-1","1:6.2.2-2","1:6.2.3-1","1:6.2.3-2","1:6.2.5-1","1:6.2.6-1","1:6.2.7-1","1:6.2.8-1","1:6.2.9-1","1:7.0.1-1","1:7.0.1-2","1:7.0.2-1","1:7.0.3-1","1:7.0.4-1","1:7.0.5-1","1:7.0.6-1","1:7.0.6-1.1","1:7.0.6-1.1~exp1","1:7.0.7-1","1:7.0.8-1","1:7.0.9-1","1:7.1.1-1","1:7.1.10-1","1:7.1.10-2","1:7.1.10-3","1:7.1.2-1","1:7.1.2-2","1:7.1.2-3","1:7.1.3-1","1:7.1.4-1","1:7.1.4-2","1:7.1.5-1","1:7.1.5-2","1:7.1.5-3","1:7.1.6-1","1:7.1.7-1","1:7.1.8-1","1:7.1.9-1","1:7.2.1-1","1:7.2.2-1","1:7.2.3-1","1:7.2.3-2","1:7.2.4-1","1:7.2.5-1","1:7.2.5-2","1:7.2.6-1","3.3.6-2","3.3.6-2.0.1","3.4.3-1"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"unrar-nonfree","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:5.3.2-1","1:5.3.2-1+deb9u1build0.16.04.1"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"unrar-nonfree","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:5.5.8-1"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"unrar-nonfree","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:5.6.6-2","1:5.6.6-2build1","1:5.6.6-2ubuntu0.1"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"unrar-nonfree","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:6.0.5-1","1:6.0.7-6","1:6.1.2-1","1:6.1.3-1","1:6.1.3-2","1:6.1.4-1","1:6.1.5-1","1:6.1.5-1ubuntu0.1"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"unrar-nonfree","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:6.2.10-2","1:7.0.2-1","1:7.0.3-1","1:7.0.4-1","1:7.0.5-1","1:7.0.6-1","1:7.0.7-1","1:7.0.7-1build1"]},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"unrar-nonfree","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:7.1.5-3","1:7.1.6-1","1:7.1.7-1","1:7.1.8-1","1:7.1.9-1","1:7.1.10-1","1:7.1.10-2"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"unrar-nonfree","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:7.2.4-1","1:7.2.6-1","1:7.2.7-1"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"unrar-nonfree","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:7.1.10-2","1:7.2.1-1","1:7.2.2-1","1:7.2.3-1","1:7.2.3-2","1:7.2.4-1"]}],"products":[{"vendor":"rarlab","product":"rar"},{"vendor":"rarlab","product":"unrar"},{"vendor":"rarlab","product":"unrar.dll"},{"vendor":"rarlab","product":"winrar"},{"vendor":"win-rar","product":"winrar"}],"references":[{"url":"https://www.rarlab.com/download.htm","tags":["patch","vendor-advisory","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2023-40477","tags":["related","report"]},{"url":"https://www.securin.io/zero-days/cve-2026-14191-winrar-unrar-rar5-recovery-volume-rev-out-of-bounds-heap-write-in-recvolumes5-readheader"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-14191"},{"url":"https://github.com/advisories/GHSA-5hjj-fvq6-8j36"},{"url":"https://docs.bell-sw.com/security/cves/CVE-2026-14191","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-14191","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-14191","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-14191","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2026-14191","title":"WinRAR / UnRAR RAR5 recovery-volume (.rev) out-of-bounds heap write in RecVolumes5::ReadHeader","description":"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.","status":"published","published":"2026-07-01T02:41:39.316Z","modified":"2026-07-09T04:47:54.319Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-787","CWE-129"],"updated_at":"2026-11-02T13:38:43.260938Z"}],"euvd":[{"id":"EUVD-2026-40869","description":"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.","status":"published","published":"2026-07-01T02:41:39Z","modified":"2026-07-09T04:47:54Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T18:20:04.895477Z"}],"ghsa":[{"id":"GHSA-5hjj-fvq6-8j36","title":"An out-of-bounds heap write exists in the RAR5 recovery-volume (.rev) parser in WinRAR and UnRAR ...","description":"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.","status":"published","published":"2026-07-01T06:31:31Z","modified":"2026-07-09T06:33:00Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-129"],"updated_at":"2026-11-02T15:09:20.981798Z"}],"nvd":[{"id":"CVE-2026-14191","description":"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.","status":"published","published":"2026-07-01T04:16:58.647Z","modified":"2026-07-09T06:16:18.38Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"secondary"}],"cwes":["CWE-129","CWE-787"],"updated_at":"2026-11-02T14:12:27.199837Z"}],"osv":[{"id":"BELL-CVE-2026-14191","status":"published","published":"2026-07-04T06:04:30.91619Z","modified":"2026-07-17T07:15:06.537121016Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:28:23.037038Z"},{"id":"DEBIAN-CVE-2026-14191","description":"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.","status":"published","published":"2026-07-01T04:16:58.647Z","modified":"2026-10-01T03:02:25.63570958Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:45:51.8748Z"},{"id":"UBUNTU-CVE-2026-14191","description":"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.","status":"published","published":"2026-07-01T04:16:00Z","modified":"2026-10-17T12:58:45.669779039Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T16:56:00.592716Z"}]}}
