CVE-2026-14191 (GCVE-0-2026-14191)

Vulnerability from cvelistv5 – Published: 2026-07-01 02:41 – Updated: 2026-07-01 02:42
VLAI
Title
WinRAR / UnRAR RAR5 recovery-volume (.rev) out-of-bounds heap write in RecVolumes5::ReadHeader
Summary
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.
CWE
  • CWE-787 - Out-of-bounds Write
  • CWE-129 - Improper Validation of Array Index
Assigner
References
Impacted products
Vendor Product Version
RARLAB WinRAR Affected: 0 , < 7.23 (custom)
Create a notification for this product.
RARLAB RAR Affected: 0 , < 7.23 (custom)
Create a notification for this product.
RARLAB UnRAR Affected: 0 , ≤ 7.21 (custom)
Create a notification for this product.
RARLAB UnRAR.dll Affected: 0 , < 7.23 (custom)
Create a notification for this product.
Credits
Arjun Basnet from Securin
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "platforms": [
            "Windows"
          ],
          "product": "WinRAR",
          "vendor": "RARLAB",
          "versions": [
            {
              "lessThan": "7.23",
              "status": "affected",
              "version": "0",
              "versionType": "custom"
            }
          ]
        },
        {
          "defaultStatus": "unaffected",
          "platforms": [
            "Windows",
            "Linux",
            "macOS"
          ],
          "product": "RAR",
          "vendor": "RARLAB",
          "versions": [
            {
              "lessThan": "7.23",
              "status": "affected",
              "version": "0",
              "versionType": "custom"
            }
          ]
        },
        {
          "defaultStatus": "unaffected",
          "platforms": [
            "Windows",
            "Linux",
            "macOS"
          ],
          "product": "UnRAR",
          "vendor": "RARLAB",
          "versions": [
            {
              "lessThanOrEqual": "7.21",
              "status": "affected",
              "version": "0",
              "versionType": "custom"
            }
          ]
        },
        {
          "defaultStatus": "unaffected",
          "platforms": [
            "Windows"
          ],
          "product": "UnRAR.dll",
          "vendor": "RARLAB",
          "versions": [
            {
              "lessThan": "7.23",
              "status": "affected",
              "version": "0",
              "versionType": "custom"
            }
          ]
        }
      ],
      "credits": [
        {
          "lang": "en",
          "type": "finder",
          "value": "Arjun Basnet from Securin"
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "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\u0027s 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\u0027s 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 \u0027unrar t x.part1.rev\u0027, WinRAR \u0027Repair archive\u0027, 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."
        }
      ],
      "impacts": [
        {
          "capecId": "CAPEC-100",
          "descriptions": [
            {
              "lang": "en",
              "value": "Overflow Buffers - a controlled out-of-bounds heap write with attacker-controlled offset and attacker-influenced value, giving a memory-corruption primitive that can be used to crash the process (verified DoS) and, per the reporter\u0027s assessment mirroring the RAR3 sibling CVE-2023-40477, can plausibly be leveraged toward remote code execution in the context of the current user. Code execution was not demonstrated by the reporter."
            }
          ]
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "format": "CVSS"
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-787",
              "description": "CWE-787 Out-of-bounds Write",
              "lang": "en",
              "type": "CWE"
            },
            {
              "cweId": "CWE-129",
              "description": "CWE-129 Improper Validation of Array Index",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-07-01T02:42:05.524Z",
        "orgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
        "shortName": "securin"
      },
      "references": [
        {
          "name": "WinRAR / RAR 7.23 download (fixed release, 2026-06-30)",
          "tags": [
            "patch",
            "vendor-advisory"
          ],
          "url": "https://www.rarlab.com/download.htm"
        },
        {
          "name": "CVE-2023-40477 - Sibling RAR3-path vulnerability fixed in WinRAR 6.23",
          "tags": [
            "related"
          ],
          "url": "https://nvd.nist.gov/vuln/detail/CVE-2023-40477"
        }
      ],
      "source": {
        "discovery": "EXTERNAL"
      },
      "timeline": [
        {
          "lang": "en",
          "time": "2026-06-03T02:08:00.000Z",
          "value": "Vulnerability reported to RARLAB (Eugene Roshal) by Securin"
        },
        {
          "lang": "en",
          "time": "2026-06-03T20:01:00.000Z",
          "value": "RARLAB confirmed the findings after independent source review"
        },
        {
          "lang": "en",
          "time": "2026-06-30T07:51:00.000Z",
          "value": "WinRAR / RAR 7.23 released with .rev processing fix"
        },
        {
          "lang": "en",
          "time": "2026-06-30T00:00:00.000Z",
          "value": "CVE-2026-14191 reserved by Securin CNA"
        }
      ],
      "title": "WinRAR / UnRAR RAR5 recovery-volume (.rev) out-of-bounds heap write in RecVolumes5::ReadHeader"
    }
  },
  "cveMetadata": {
    "assignerOrgId": "33c584b5-0579-4c06-b2a0-8d8329fcab9c",
    "assignerShortName": "securin",
    "cveId": "CVE-2026-14191",
    "datePublished": "2026-07-01T02:41:39.316Z",
    "dateReserved": "2026-06-30T08:32:07.249Z",
    "dateUpdated": "2026-07-01T02:42:05.524Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-14191\",\"sourceIdentifier\":\"33c584b5-0579-4c06-b2a0-8d8329fcab9c\",\"published\":\"2026-07-01T04:16:58.647\",\"lastModified\":\"2026-07-01T04:16:58.647\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"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\u0027s 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\u0027s 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 \u0027unrar t x.part1.rev\u0027, WinRAR \u0027Repair archive\u0027, 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\":[{\"source\":\"33c584b5-0579-4c06-b2a0-8d8329fcab9c\",\"affectedData\":[{\"vendor\":\"RARLAB\",\"product\":\"WinRAR\",\"defaultStatus\":\"unaffected\",\"platforms\":[\"Windows\"],\"versions\":[{\"version\":\"0\",\"lessThan\":\"7.23\",\"versionType\":\"custom\",\"status\":\"affected\"}]},{\"vendor\":\"RARLAB\",\"product\":\"RAR\",\"defaultStatus\":\"unaffected\",\"platforms\":[\"Windows\",\"Linux\",\"macOS\"],\"versions\":[{\"version\":\"0\",\"lessThan\":\"7.23\",\"versionType\":\"custom\",\"status\":\"affected\"}]},{\"vendor\":\"RARLAB\",\"product\":\"UnRAR\",\"defaultStatus\":\"unaffected\",\"platforms\":[\"Windows\",\"Linux\",\"macOS\"],\"versions\":[{\"version\":\"0\",\"lessThanOrEqual\":\"7.21\",\"versionType\":\"custom\",\"status\":\"affected\"}]},{\"vendor\":\"RARLAB\",\"product\":\"UnRAR.dll\",\"defaultStatus\":\"unaffected\",\"platforms\":[\"Windows\"],\"versions\":[{\"version\":\"0\",\"lessThan\":\"7.23\",\"versionType\":\"custom\",\"status\":\"affected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"33c584b5-0579-4c06-b2a0-8d8329fcab9c\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"REQUIRED\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9}]},\"weaknesses\":[{\"source\":\"33c584b5-0579-4c06-b2a0-8d8329fcab9c\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-129\"},{\"lang\":\"en\",\"value\":\"CWE-787\"}]}],\"references\":[{\"url\":\"https://nvd.nist.gov/vuln/detail/CVE-2023-40477\",\"source\":\"33c584b5-0579-4c06-b2a0-8d8329fcab9c\"},{\"url\":\"https://www.rarlab.com/download.htm\",\"source\":\"33c584b5-0579-4c06-b2a0-8d8329fcab9c\"}]}}"
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…