← Back to Feed CACHED · 2026-06-03 10:24:26 · CACHE_KEY CVE-2025-8088
CVE-2025-8088 · CWE-35 · Disclosed 2025-08-08

WinRAR for Windows path traversal via NTFS Alternate Data Streams

ASSESSED — NOISGATE
Vendor
—
—
—
Reassessed
—
—
—
Verdict: —
Do you agree?
01 · The Real Story

This is a booby-trapped package that only works if someone brings it inside and opens it

CVE-2025-8088 is a Windows-only WinRAR path traversal bug that abuses NTFS Alternate Data Streams during archive extraction. A crafted archive can make vulnerable WinRAR components write files outside the folder the user chose, including persistence-friendly locations like Startup, %TEMP%, or user-writable app paths. Affected software includes WinRAR for Windows, Windows RAR/UnRAR, UnRAR.dll, and portable Windows UnRAR builds before 7.13; Linux/Unix builds and RAR for Android are not affected.

The vendor/NVD HIGH label is directionally right, but the raw 8.8 overstates broad enterprise urgency because this is not an internet-reachable service bug. It needs delivery, a victim using WinRAR on Windows, and user interaction to open/extract the archive. What keeps it firmly HIGH instead of a downgrade to MEDIUM is the ugly combination of KEV status, confirmed in-the-wild abuse, low exploit complexity once the archive lands, and a clean path to persistence and code execution under the victim context.

"KEV-listed and real-world exploited, but still a user-assisted client-side bug with narrower enterprise reach than CVSS suggests."
02 · The Attack Path

4 steps from start to impact.

STEP 01

Deliver a weaponized archive

The attacker packages a benign-looking decoy plus a hidden ADS-backed payload into a malicious RAR archive. In observed campaigns, RomCom used spearphishing themes such as job applications to get the archive onto the endpoint. Weaponization is straightforward now that public research and PoCs exist.
Conditions required:
  • Attacker can reach the target user by email, chat, file share, or download portal
  • Target environment allows inbound archive delivery
  • WinRAR or another affected Windows UnRAR component exists on the host
Where this breaks in practice:
  • Email security, sandboxing, and content disarm can stop the archive before delivery
  • Some users will never open RAR attachments
  • Many enterprises have shifted from WinRAR to built-in ZIP handling or 7-Zip
Detection/coverage: Email gateways and attachment sandboxes have the best chance here; signature/YARA coverage exists for suspicious ADS + traversal patterns, but generic vuln scanners usually only detect installed version, not weaponized content.
STEP 02

Trigger extraction in WinRAR

The victim must open or extract the archive with a vulnerable Windows WinRAR/UnRAR component. During extraction, the parser trusts archive-supplied path data and ADS syntax enough to write outside the intended destination. This is where the CVSS UI:R matters in practice: no click, no bug.
Conditions required:
  • Victim uses vulnerable WinRAR/UnRAR before 7.13
  • Victim opens or extracts the archive
  • The archive is processed on Windows/NTFS-relevant paths
Where this breaks in practice:
  • User interaction is mandatory
  • Security-aware users may inspect archive contents first
  • If the file is opened with unaffected tooling, the exploit chain dies
Detection/coverage: Version-based detection is easy via software inventory; runtime detection is possible from process/file telemetry showing WinRAR.exe, rar.exe, or UnRAR.dll writing outside the selected extraction path.
STEP 03

Write payload outside the chosen folder

The exploit uses parent-directory traversal and ADS tricks to escape the extraction directory and drop a DLL, EXE, BAT, or LNK in a strategic path. Researchers observed placement into autorun or staging locations that survive the extraction workflow and look user-driven rather than exploit-driven.
Conditions required:
  • Target path is writable by the victim
  • Windows path semantics and ADS handling behave as expected
  • EDR does not block the anomalous file write
Where this breaks in practice:
  • ACLs and application control can limit where the payload lands
  • Some persistence paths need additional execution opportunities after write
  • EDR may flag an archiver writing to Startup or other unusual locations
Detection/coverage: Strong EDR coverage if you alert on archive utilities writing to Startup, %AppData%, %ProgramData%, or dropping executable content outside the chosen extraction root.
STEP 04

Gain execution and persistence

Execution typically comes from landing content in Startup or via a follow-on lure that causes the dropped file to run. In ESET-observed campaigns, successful exploitation delivered backdoors such as SnipBot, RustyClaw, and Mythic agent. The result is user-context code execution with a practical path to durable foothold.
Conditions required:
  • Dropped payload is executable or leads to executable follow-on behavior
  • User logs in, reboots, or otherwise triggers persistence path
  • Endpoint controls do not quarantine the payload
Where this breaks in practice:
  • This is usually user-context first, not instant SYSTEM
  • Execution may be delayed until reboot/login or an operator-triggered next step
  • Modern EDR often catches the post-exploitation payload even if WinRAR missed the initial write
Detection/coverage: High-quality EDR should see autorun creation, suspicious child process chains, or post-extraction malware beaconing. Network scanners will not help because this is endpoint-local, not service-exposed.
03 · Compensating Control

1
Block RAR intake from untrusted channels — At mail gateways, web proxies, and collaboration platforms, quarantine or detonate inbound .rar archives from the internet and external senders. Because this CVE is KEV-listed / actively exploited, deploy this compensating control immediately, within hours if patching cannot complete first.
2
Hunt for vulnerable WinRAR installs — Use software inventory, SCCM/Intune, EDR, or package inventory to identify WinRAR.exe, rar.exe, and UnRAR.dll versions before 7.13. Prioritize endpoints used for HR, finance, executives, and admin workflows where archive lures are more likely; with active exploitation evidence, complete this triage immediately, within hours.
3
Alert on archive utilities writing to autoruns — Create EDR detections for WinRAR.exe or rar.exe writing executables, LNKs, BATs, or DLLs to Startup, %AppData%, %ProgramData%, or unexpected temp-to-autostart paths. This does not replace patching, but it can catch the exploit at the file-write stage; deploy immediately, within hours.
4
Restrict execution from user-writable paths — Use WDAC/AppLocker/SRP or equivalent to block execution from %TEMP%, %APPDATA%, downloads, and Startup-adjacent user-writable locations where these payloads commonly land. This is especially valuable if you cannot patch every endpoint at once; implement immediately, within hours.
5
Strip WinRAR from low-need endpoints — If a user group does not need WinRAR, uninstall it or replace it with a managed, approved archiver that your organization can update centrally. For environments with slow patch governance, reducing installed base is the cleanest exposure reduction; start immediately, within hours for high-risk users.
What doesn't work
  • A network perimeter focus does not help much, because the vulnerable component is a client-side Windows archiver rather than a listening service.
  • MFA is irrelevant to the exploit trigger; it may help elsewhere in the intrusion, but it does not stop malicious extraction.
  • Generic vulnerability scans of internet-facing assets will miss the real problem population, because the issue lives on endpoints and packaged components like UnRAR.dll.
  • Telling users to be careful is not a control. Socially engineered archive lures are exactly the scenario this bug was used for.
04 · Intelligence Metadata

The supporting signals.

In-the-wild statusConfirmed exploited. ESET reported zero-day exploitation by RomCom between 2025-07-18 and 2025-07-21, and noted a second threat actor also using the flaw.
KEV statusYes. CISA KEV added 2025-08-12 with due date 2025-09-02.
PoC / exploit availabilityPublic PoCs exist. Example repos include sxyrxyy/CVE-2025-8088-WinRAR-Proof-of-Concept-PoC-Exploit- and detection content in travisbgreen/cve-2025-8088.
EPSS9.1% EPSS, 92.8th percentile per Wiz's mirror of FIRST data; your supplied intel of 0.091 is consistent with that.
CVSS vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H — the score is high because impact can become full CIA loss, but UI:R is the real-world brake.
Score mismatch worth notingThere is a scoring split in the ecosystem: NVD shows 8.8 (v3.1) while CNA/secondary sources commonly show 8.4 (v4.0/CNA). That does not change the operational story: this is still a user-assisted client-side exploit.
Affected versionsWindows WinRAR/UnRAR family before 7.13. Official release notes name WinRAR (Windows), Windows RAR/UnRAR, UnRAR.dll, and portable Windows UnRAR source code.
Fixed version7.13 released 2025-07-30; release notes were updated 2025-08-12.
Exposure / scanning realityNot meaningfully internet-scannable. This is an endpoint application issue, not a listening network service; Shodan/Censys-style internet counts are not the right exposure metric. Your reachable population is the subset of Windows endpoints that both have vulnerable WinRAR components and process untrusted archives.
Reporting researchers / orgAnton Cherepanov, Peter Košinár, and Peter Strýček of ESET.

Sources.

  1. NVD CVE-2025-8088
  2. WinRAR 7.13 final release notes
  3. CISA Known Exploited Vulnerabilities catalog entry
  4. ESET press release on RomCom exploitation
  5. WeLiveSecurity technical write-up
  6. Wiz vulnerability page with EPSS mirror
  7. Public PoC repository
  8. Detection content repository
05 · The Call

Final Verdict
= UNCHANGED to HIGH (8.1/10)

Why this verdict

  • Starts at 8.8, then loses points on reachability: this is not an unauthenticated service exploit; it is a user-assisted client-side archive bug.
  • Attacker position implies an earlier stage compromise or successful social engineering: the attacker needs delivery into the enterprise and a user action to open/extract with the affected tool.
  • Exposure population is narrower than CVSS assumes: only Windows hosts with vulnerable WinRAR-family components are in play, not every exposed enterprise edge system.
  • Modern controls should break the chain before impact: email security, attachment detonation, EDR, and application control all have credible interception points.
  • But KEV plus live campaigns pull it back up hard: ESET observed real exploitation and CISA KEV confirms this is not hypothetical lab-only risk.
  • Blast radius is typically user-context first, not instant domain-wide compromise: still serious, but not the same operational category as a pre-auth edge RCE on a server fleet.

Why not higher?

This is not an internet-facing, wormable, pre-auth server bug. It needs a delivered archive, a vulnerable Windows endpoint with WinRAR-family tooling, and user interaction to trigger extraction; those are compounding frictions that materially shrink reachable population. Even after successful exploitation, the initial blast radius is usually the victim context, not immediate enterprise-wide control.

Why not lower?

KEV status means the exploitation debate is over. Real operators have already used this bug in targeted campaigns, and the exploit path is practical: write outside extraction, land in Startup or another runnable path, and convert a normal user action into persistent malware execution. For enterprise defenders, that is too operationally proven to score as MEDIUM.

06 · Verification

Crowdsourced verification payload.

Run this on the target Windows host or through your EDR/management agent. Example: powershell -ExecutionPolicy Bypass -File .\check-winrar-cve-2025-8088.ps1; standard user rights are usually enough for file version checks, but local admin improves registry and multi-path coverage.

noisgate-verify.ps1
POWERSHELLREAD-ONLYSAFE
# check-winrar-cve-2025-8088.ps1

# Detects likely exposure to CVE-2025-8088 on Windows hosts.

# Checks WinRAR.exe / rar.exe / UnRAR.dll versions where commonly installed.

# Output: VULNERABLE / PATCHED / UNKNOWN

# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN


$ErrorActionPreference = 'SilentlyContinue'
$patchedVersion = [version]'7.13.0.0'
$found = @()

function Add-FoundFile {
    param(
        [string]$Path
    )
    if (Test-Path -LiteralPath $Path) {
        try {
            $item = Get-Item -LiteralPath $Path
            $verString = $item.VersionInfo.FileVersion
            if (-not [string]::IsNullOrWhiteSpace($verString)) {
                $clean = ($verString -replace '[^0-9\.]', '')
                $ver = [version]$clean
                $script:found += [pscustomobject]@{
                    Path = $Path
                    Version = $ver
                    RawVersion = $verString
                }
            }
        } catch {
        }
    }
}

# Common install paths

$paths = @(
    "$env:ProgramFiles\WinRAR\WinRAR.exe",
    "$env:ProgramFiles\WinRAR\Rar.exe",
    "$env:ProgramFiles\WinRAR\UnRAR.dll",
    "$env:ProgramFiles(x86)\WinRAR\WinRAR.exe",
    "$env:ProgramFiles(x86)\WinRAR\Rar.exe",
    "$env:ProgramFiles(x86)\WinRAR\UnRAR.dll"
)

foreach ($p in $paths) { Add-FoundFile -Path $p }

# Registry uninstall keys

$uninstallRoots = @(
    'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*',
    'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*',
    'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*'
)

foreach ($root in $uninstallRoots) {
    try {
        Get-ItemProperty $root | Where-Object {
            $_.DisplayName -match 'WinRAR'
        } | ForEach-Object {
            if ($_.InstallLocation) {
                Add-FoundFile -Path (Join-Path $_.InstallLocation 'WinRAR.exe')
                Add-FoundFile -Path (Join-Path $_.InstallLocation 'Rar.exe')
                Add-FoundFile -Path (Join-Path $_.InstallLocation 'UnRAR.dll')
            }
        }
    } catch {
    }
}

# Deduplicate by path

$found = $found | Sort-Object Path -Unique

if (-not $found -or $found.Count -eq 0) {
    Write-Output 'UNKNOWN: WinRAR/UnRAR components not found in common locations.'
    Write-Output 'UNKNOWN'
    exit 2
}

$vuln = $false
foreach ($f in $found) {
    Write-Output ("Found: {0} | Version: {1}" -f $f.Path, $f.RawVersion)
    if ($f.Version -lt $patchedVersion) {
        $vuln = $true
    }
}

if ($vuln) {
    Write-Output 'VULNERABLE: One or more WinRAR/UnRAR components are older than 7.13.'
    Write-Output 'VULNERABLE'
    exit 1
} else {
    Write-Output 'PATCHED: Detected WinRAR/UnRAR components are 7.13 or newer.'
    Write-Output 'PATCHED'
    exit 0
}