← Back to Feed CACHED · 2026-07-10 06:57:27 · CACHE_KEY CVE-2026-57256
CVE-2026-57256 · CWE-416 · Disclosed 2026-07-08

When the application opens a PDF and executes JavaScript

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

A booby-trapped PDF that only detonates when the user clicks 'reset form'

CVE-2026-57256 is a use-after-free (CWE-416) in Foxit PDF Reader/Editor's JavaScript engine. When a crafted PDF's embedded JavaScript performs abnormal operations against a list box form field, and the form is subsequently reset, the freed object is reused — attackers who groom the heap correctly can pivot to arbitrary code execution in the context of the logged-in user. Affected builds are Foxit PDF Reader ≤ 2026.1.1.36485 and matching Foxit PDF Editor branches; fixed in Reader/Editor 2026.1.2 and Editor 14.0.5.

The vendor label of HIGH (7.8) is fair on paper — CVSS scores local execution with user interaction and full CIA impact. In practice this is a *client-side* browser-class RCE with a narrow trigger (JavaScript must run inside the PDF viewer and hit the reset-form path). It's real, but it is not a wormable server bug and there is no public exploitation. MEDIUM is the operational read for a fleet manager.

"Client-side UAF that needs a user to open a booby-trapped PDF — patch on the routine desktop cycle, not the fire drill."
02 · The Attack Path

4 steps from start to impact.

STEP 01

Deliver the malicious PDF

Attacker emails, hosts, or drops a crafted PDF that contains embedded JavaScript targeting a list box form field. Typical delivery is a phishing lure disguised as an invoice, contract, or HR form. Weaponization uses standard PDF crafters (pdfrw, qpdf, or custom toolchains built on Peepdf/Origami).
Conditions required:
  • Attacker can reach the mailbox, web download path, or shared drive
  • Victim uses Foxit Reader/Editor as the default PDF handler
Where this breaks in practice:
  • Secure email gateways (Proofpoint, Mimecast, M365 ATP) strip or sandbox active PDFs
  • Many enterprises default to Adobe Reader or Edge's built-in viewer, not Foxit
Detection/coverage: Email gateway attachment analysis; EDR file-write telemetry on .pdf from browser/mail child processes
STEP 02

User opens the PDF and JavaScript executes

The victim double-clicks the file; Foxit's JavaScript engine (a fork of SpiderMonkey) executes the embedded script. The script instantiates a list box field and performs abnormal operations against it to prime the heap. This step requires that Foxit's JavaScript feature has NOT been disabled by GPO or by the user in Preferences → JavaScript.
Conditions required:
  • User interaction — opening the file
  • JavaScript enabled in Foxit (default)
  • Protected View / Safe Reading Mode does not block form scripts
Where this breaks in practice:
  • Safe Reading Mode is on by default in current Foxit builds and gates external actions
  • Some orgs disable Acrobat/Foxit JavaScript by policy
  • AppLocker / WDAC may restrict Foxit spawning children
Detection/coverage: EDR process telemetry — FoxitPDFReader.exe spawning cmd.exe/rundll32/powershell is a strong IOC
STEP 03

Trigger the UAF via form reset

The script issues a resetForm (or triggers an action that resets the form) after the list box has been abnormally manipulated. The reset frees the underlying list box object, but a dangling reference is reused — yielding a controlled use-after-free primitive in the renderer heap.
Conditions required:
  • Heap layout groomed as required by the exploit
  • Reset path reachable without an intermediate crash
Where this breaks in practice:
  • Modern Windows heap hardening (LFH randomization, segment heap) makes reliable grooming version-specific
  • ASLR + CFG raise the bar for turning UAF into code exec
Detection/coverage: Crash dumps in WER referencing FoxitPDFReader.exe with c0000005 on Foxit's JS worker thread
STEP 04

Achieve arbitrary code execution as the user

The attacker turns the UAF into a read/write primitive, defeats ASLR via a leak, and lands ROP/JIT-spray shellcode. Execution runs as the interactive user — no privilege escalation. Follow-on stages fetch a loader (Cobalt Strike, Sliver, NimPlant) from an attacker C2.
Conditions required:
  • Working exploit for the specific Foxit build and Windows version
  • Outbound network egress for the second stage
Where this breaks in practice:
  • EDR (CrowdStrike, SentinelOne, Defender for Endpoint) heavily instruments PDF-viewer children
  • Egress filtering / proxy inspection breaks unknown C2 domains
Detection/coverage: AMSI on the loader stage; EDR on unbacked-memory execution inside Foxit
03 · Intelligence Metadata

The supporting signals.

In-the-wild exploitationNone observed as of 2026-07-10. Not on CISA KEV.
Public PoCNo public PoC published. Vendor advisory credits the reporter via ZDI-style coordinated disclosure; no working exploit on GitHub.
EPSS0.00116 (~0.12%) — bottom quartile of exploit-prediction probability.
KEV statusNot listed.
CVSS 3.1 vectorAV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H → local attack vector, user interaction required, full CIA impact in user context.
Affected versionsFoxit PDF Reader ≤ 2026.1.1.36485; Foxit PDF Editor 2026.1.1.36485 and prior 14.x branches.
Fixed versionsFoxit PDF Reader 2026.1.2, Foxit PDF Editor 2026.1.2, Foxit PDF Editor 14.0.5.
Exposure telemetryClient-side software — not indexed by Shodan/Censys. Enterprise install base is meaningful but a minority of the PDF-viewer market versus Adobe and browser-embedded viewers.
Disclosed2026-07-08 by Foxit security bulletin, batched with ~19 other UAF CVEs in the same patch cycle.
Root cause classCWE-416 use-after-free in JavaScript-driven form field manipulation — same bug class as CVE-2026-13126 sibling batch.
04 · The Call

noisgate verdict.

Final Verdict
DOWNGRADED to MEDIUM (5.8/10)

MEDIUM reflects the single most decisive factor: exploitation requires a user to open an attacker-supplied PDF in Foxit specifically with JavaScript enabled, and there is no in-the-wild exploitation or public PoC. Blast radius is capped at the interactive user's token — no lateral primitive, no server exposure, no high-value-role component in scope.

HIGH Vendor patch availability and affected build ranges
HIGH No public exploitation as of assessment date
MEDIUM Exploit reliability against modern Windows heap hardening

Why this verdict

  • User interaction required (UI:R) — the chain does not start until the victim opens the file in Foxit. Every mail gateway, browser download warning, and Safe Reading Mode gate is an independent choke point.
  • Local attack vector (AV:L) — no network-reachable service, no unauthenticated server surface. Attacker has to reach the desktop through a delivery channel that most enterprises already inspect.
  • EPSS 0.00116, no KEV, no public PoC — real-world weaponization probability is low; this is a patch-cycle bug, not a fire drill.
  • Blast radius = user token — no privilege escalation primitive, no domain identity theft, no fleet pivot. A compromised endpoint is bad but recoverable.
  • Role multiplier: Foxit Reader/Editor is a desktop productivity tool. There is no realistic high-value-role deployment — it does not run on domain controllers, hypervisors, IdPs, CI runners, or edge appliances. The high-value-role floor does not apply.
  • Market share friction: Foxit is a minority PDF viewer in most enterprises; Adobe, Edge, and Chrome cover the majority. Attacker must first ascertain the victim uses Foxit, which lowers targeting yield.

Why not higher?

HIGH would require either active exploitation, a network-reachable trigger, or a plausible high-value-role deployment. None apply — this is a client-side UAF gated by user interaction and JavaScript being enabled, with no KEV entry and negligible EPSS.

Why not lower?

LOW/IGNORE would ignore that this is a confirmed RCE primitive in a real enterprise-deployed product, not a theoretical crash. Client-side PDF UAFs are historically used by commercial spyware vendors (NSO, Intellexa) and access brokers; the vendor patch is genuine and the bug is real, so it earns a real remediation window.

05 · Compensating Control

What to do — in priority order.

  1. Disable JavaScript in Foxit Reader/Editor by GPO — Kills the JavaScript execution prerequisite in step 2 of the chain. Push HKCU\Software\Foxit Software\Foxit PDF Reader\Preferences\JavaScript = 0 via GPO or Intune. Deploy across the fleet — no mitigation SLA is enforced for MEDIUM, but this is a one-line change worth shipping within the current sprint.
  2. Force Safe Reading Mode enabled and locked — Safe Reading Mode blocks unauthorized external actions and script triggers. Set SafeReadingMode = 1 and lock the preference so users cannot toggle it off.
  3. Route PDF opens through the browser or Adobe Reader default — For orgs that don't require Foxit's editor features, changing the default .pdf handler to Microsoft Edge or Adobe Reader entirely sidesteps this CVE class. Use Set Default Programs GPO.
  4. Tighten mail attachment policy — Have the SEG (Proofpoint/Mimecast/Defender for O365) sandbox or strip PDFs with embedded JavaScript. Most gateways offer a PDF with active content verdict — flip it to quarantine.
  5. EDR rule: alert on Foxit spawning shells — Write a detection for FoxitPDFReader.exe / FoxitPDFEditor.exe spawning cmd.exe, powershell.exe, rundll32.exe, wscript.exe, mshta.exe. Trivial to write in CrowdStrike CQL / Defender AH; catches successful exploitation immediately.
What doesn't work
  • Perimeter firewalls / WAFs — the trigger is a local file open, not a network request. Egress filtering only helps at stage-2 loader retrieval.
  • MFA — no authentication surface is involved; MFA is orthogonal to a client-side memory bug.
  • Patching Adobe Reader — same class of bug in a different product; does not affect Foxit's codebase.
  • DEP/ASLR alone — modern exploit chains routinely bypass both; do not rely on OS mitigations as the sole control.
06 · Verification

Crowdsourced verification payload.

Run on a Windows target host as a standard or admin user. Invoke with .\Check-Foxit-CVE-2026-57256.ps1. It inspects installed Foxit Reader/Editor versions from the registry and compares against the fixed builds.

noisgate-verify.ps1
POWERSHELLREAD-ONLYSAFE
#requires -Version 5.1
# Check-Foxit-CVE-2026-57256.ps1
# Reports VULNERABLE / PATCHED / UNKNOWN for CVE-2026-57256 (Foxit UAF).
# Fixed builds: Reader 2026.1.2, Editor 2026.1.2, Editor 14.0.5

$ErrorActionPreference = 'SilentlyContinue'
$vulnBuildMax = [Version]'2026.1.1.36485'
$fixedReader  = [Version]'2026.1.2.0'
$fixedEditor  = [Version]'2026.1.2.0'
$fixedEditor14= [Version]'14.0.5.0'

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

$found = @()
foreach ($p in $paths) {
    Get-ItemProperty $p 2>$null | Where-Object {
        $_.DisplayName -match 'Foxit\s+(PDF\s+)?(Reader|Editor|PhantomPDF)'
    } | ForEach-Object {
        $found += [PSCustomObject]@{
            Name    = $_.DisplayName
            Version = $_.DisplayVersion
        }
    }
}

if (-not $found) {
    Write-Output 'UNKNOWN: Foxit not detected on this host.'
    exit 2
}

$verdict = 'PATCHED'
foreach ($f in $found) {
    try { $v = [Version]$f.Version } catch { $v = $null }
    if (-not $v) { Write-Output "UNKNOWN: $($f.Name) version $($f.Version) unparseable."; $verdict = 'UNKNOWN'; continue }

    $isReader = $f.Name -match 'Reader'
    $isEditor14 = ($f.Name -match 'Editor|PhantomPDF') -and $v.Major -eq 14
    $isEditor2026 = ($f.Name -match 'Editor|PhantomPDF') -and $v.Major -eq 2026

    $vuln = $false
    if ($isReader     -and $v -lt $fixedReader)   { $vuln = $true }
    if ($isEditor2026 -and $v -lt $fixedEditor)   { $vuln = $true }
    if ($isEditor14   -and $v -lt $fixedEditor14) { $vuln = $true }

    if ($vuln) {
        Write-Output "VULNERABLE: $($f.Name) $($f.Version)"
        $verdict = 'VULNERABLE'
    } else {
        Write-Output "PATCHED:    $($f.Name) $($f.Version)"
    }
}

switch ($verdict) {
    'VULNERABLE' { exit 1 }
    'PATCHED'    { exit 0 }
    default      { exit 2 }
}
07 · Bottom Line

If you remember one thing.

TL;DR
Treat this as routine desktop hygiene, not a Monday-morning fire drill. Per the noisgate mitigation SLA, MEDIUM has no mitigation deadline — but ship the two-line JavaScript-disable / Safe Reading Mode GPO this sprint anyway; it's free and it neutralizes the entire Foxit UAF class, not just this one CVE. Per the noisgate remediation SLA, push Foxit Reader/Editor 2026.1.2 (or Editor 14.0.5) across the fleet within 365 days, but realistically bundle it into your next monthly third-party-app patch ring — target the endpoint fleet in 30 days via SCCM/Intune/PDQ. Re-elevate to HIGH if CISA adds this CVE (or a sibling from the same July 2026 Foxit batch) to KEV, or if a public PoC lands.

Sources

  1. Foxit Security Bulletins
  2. GBHackers — Foxit Patches Multiple UAF Flaws Leading to RCE
  3. CybersecurityNews — 20 RCE Vulnerabilities Patched in Foxit PDF Reader/Editor
  4. Tenable Nessus plugin — Foxit PDF Reader < 2026.1.1 Multiple Vulnerabilities
  5. Cyberpress — Foxit Patches PDF Reader Editor Vulnerabilities in 2026.1.2
  6. CVE Details — Foxit PDF Reader vulnerabilities
  7. OpenCVE — Foxit PDF Editor CVEs
  8. THREATINT — CVE-2026-57256
Peer Review

What defenders are saying.

Submit a review attribution: handle + country only
0 flags selected · stored anonymously
Validation Results

Crowdsourced verification outputs.

Results submitted by users who ran the verification payload against their environment.