← Back to Feed CACHED · 2026-08-29 13:39:11 · CACHE_KEY CVE-2026-82078
CVE-2026-82078 · CWE-470 · Disclosed 2026-08-28

An unsafe dynamic class loading vulnerability exists in the database connection utilities of PaperCut MF…

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

Someone left the master key in the printer room, and attackers are already inside

CVE-2026-82078 is an unsafe dynamic class-loading flaw in the database connection utilities of PaperCut MF and PaperCut NG. The application instantiates JDBC database driver classes from names stored in configuration without validating them against an allowlist. On its own, exploiting it requires the ability to edit PaperCut's configuration — but when chained with CVE-2026-81578 (CVSS 8.8, an improper access-control bypass in the web management interface), unauthenticated remote attackers can modify that configuration and then trigger the class-loading flaw to execute arbitrary Java bytecode under the PaperCut server process — which runs as SYSTEM on Windows. All versions of PaperCut NG and MF prior to August 27, 2026 are affected across Windows, Linux, and macOS. Emergency patches exist for versions 24, 25, and 26; the 47% of tracked installations still on v23 or earlier have no patch available and must upgrade.

No vendor CVSS baseline was published in a standard authority database at time of assessment. The vendor's own advisory uses the word *urgent* and assigns a 9.4 score internally. That score is fair — arguably even generous to the vendor — because the chain is pre-authentication, actively exploited in the wild as a zero-day, runs as SYSTEM, the first emergency patch was bypassed within 24 hours by watchTowr and Huntress researchers, and nearly half the install base cannot patch without a full version upgrade. This is textbook CRITICAL.

"Actively exploited pre-auth RCE chain runs as SYSTEM on every PaperCut server — patch now."
02 · The Attack Path

5 steps from start to impact.

STEP 01

Identify internet-facing PaperCut Application Server

The attacker locates a PaperCut NG/MF web management interface exposed on port 9191/9192 (HTTPS). Approximately 1,000 instances are internet-exposed per ShadowServer Foundation data. Internal instances are reachable from any host on the corporate LAN.
Conditions required:
  • PaperCut Application Server web interface reachable by attacker
Where this breaks in practice:
  • Only ~1,000 instances publicly exposed; most sit behind corporate firewalls
Detection/coverage: Shodan/Censys dork: http.title:"PaperCut" or ssl.cert.subject.cn:papercut. Internal asset inventory should flag port 9191/9192.
STEP 02

Bypass authentication via CVE-2026-81578

The attacker sends a crafted HTTP request that references an unprivileged rendered page while targeting a protected backend administrative component. The authorization logic trusts the rendered page context and allows the backend action to execute before access validation completes. This grants unauthenticated write access to system configuration parameters.
Conditions required:
  • Network access to PaperCut web management interface
  • No WAF rule blocking malformed page-component requests
Where this breaks in practice:
  • A properly configured WAF with request-integrity rules could block the mismatch, but PaperCut-specific signatures were not available until post-disclosure
Detection/coverage: Monitor HTTP access logs for requests with mismatched page/component parameters targeting /app endpoints. Huntress published IOC patterns.
STEP 03

Modify database driver configuration

Using the unauthenticated configuration-write primitive from step 2, the attacker sets the JDBC driver class name to a malicious class. The attacker also sets the JDBC URL to a trigger value such as jdbc:derby:memory:pwn. This configuration change is persisted by the PaperCut server.
Conditions required:
  • Successful auth bypass from step 2
Where this breaks in practice:
  • None — the configuration write is the intended outcome of step 2
Detection/coverage: Log entry: DB URL: jdbc:derby:memory:pwn or similar unexpected JDBC URL in server.log. Derby boot messages referencing memory:...pwn.
STEP 04

Drop and instantiate malicious Java bytecode

The attacker delivers a hex- or base64-encoded .class file via the HTTP request, which is written to the server/lib/ directory. When PaperCut's database connection utility instantiates the configured driver class, it loads the attacker's bytecode from the application classpath and executes it under the PaperCut server process — SYSTEM on Windows, typically papercut service user on Linux.
Conditions required:
  • Malicious .class file lands on the application classpath
  • PaperCut server process triggers database connection with poisoned config
Where this breaks in practice:
  • Application-level file-integrity monitoring on server/lib/ could detect the dropped .class file, but this is not standard
Detection/coverage: File artifacts: unexpected .class files in server/lib/ (e.g., Udydn.class, Moo97.class). Process monitoring: pc-app.exe spawning cmd.exe, powershell.exe, or shell utilities.
STEP 05

Execute reconnaissance and post-exploitation commands

Observed attacker payloads decode to commands like whoami & ver and whoami & ver & tasklist, executed under SYSTEM context. Output is written to .out files in server/data/content/. Attackers then delete the payload artifacts and truncate logs. From SYSTEM on a domain-joined print server, lateral movement via credential harvesting (LSASS dump, Kerberos ticket theft) or NTLM relay is trivial.
Conditions required:
  • Successful class instantiation from step 4
Where this breaks in practice:
  • EDR on the PaperCut host should detect SYSTEM-context shell spawning from pc-app.exe
  • Log deletion may trigger SIEM alerts if forwarding is configured
Detection/coverage: EDR alert on pc-app.execmd.exe process chain. SIEM alert on missing/truncated server.log. File-integrity alert on .class or .cmd files in PaperCut directories.
03 · Intelligence Metadata

The supporting signals.

In-the-Wild ExploitationYES — confirmed zero-day. Huntress observed exploitation in at least two customer environments as of August 27, 2026. Attackers executed base64-encoded system enumeration commands under SYSTEM.
Proof-of-ConceptFull chain reproduced by watchTowr (Jake Knott) and Huntress (John Hammond, Andrew Brandt). Multiple patch bypasses identified and reported. Public exploit details available.
EPSS ScoreNot yet scored by FIRST (CVE disclosed <48 hours ago). Given active exploitation, probability of exploitation is effectively 1.0.
KEV StatusNot yet listed on CISA KEV as of 2026-08-29. Listing is expected imminently given confirmed in-the-wild exploitation.
CVSS VectorVendor internal score: 9.4 (Critical). For the chained pre-auth RCE: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L — network-accessible, no privileges, no user interaction, high confidentiality and integrity impact.
Affected VersionsAll versions of PaperCut NG and MF prior to Emergency Patch Release 2 (Aug 28, 2026). Confirmed vulnerable: v24.x, v25.x, v26.x. 47% of tracked installs run v23 or older with no patch available — upgrade required.
Fixed VersionsEmergency Patch Release 2 (Aug 28): NG 25.0.12.76497, MF 25.0.12.76496. Patches available for v24, v25, v26 on Windows/Linux/macOS. No patch for v23 or earlier — full upgrade required.
Exposure Data~1,000 internet-facing instances per ShadowServer Foundation, majority in North America and Europe. PaperCut claims 100M+ users across 100,000+ organizations globally.
Disclosure Date2026-08-27 (initial advisory), 2026-08-28 (CVE identifiers assigned, Emergency Patch Release 2)
Reporting ResearchersHuntress (John Hammond, Andrew Brandt) — first to observe in-the-wild exploitation. watchTowr (Jake Knott) — reproduced chain, discovered patch bypasses. Coordinated with PaperCut's internal security team.
04 · The Call

noisgate verdict.

Final Verdict
= UNCHANGED to CRITICAL (9.4/10)

The single most decisive factor is active zero-day exploitation of a pre-authentication RCE chain that runs as SYSTEM, with the first patch already bypassed and nearly half the install base unable to patch without a major version upgrade. No friction point in the attack path meaningfully narrows the reachable population once an attacker has network access to the PaperCut web interface.

HIGH Vulnerability existence and exploitability confirmed by multiple independent researchers and in-the-wild incidents
HIGH Pre-authentication RCE chain verified by Huntress and watchTowr with full reproduction
MEDIUM Blast radius beyond the PaperCut host (lateral movement potential depends on domain-join status and EDR coverage)

Why this verdict

  • Active zero-day exploitation: Huntress confirmed attacks in customer environments before any patch existed. Attackers are already using this chain operationally — this is not theoretical.
  • Pre-authentication RCE to SYSTEM: The chain requires zero credentials and zero user interaction. Any host that can reach PaperCut's web interface (port 9191/9192) can execute arbitrary code as SYSTEM. The attack surface is the network, not an authenticated session.
  • Patch instability: The first emergency patch was bypassed within 24 hours by watchTowr researchers, and 47% of the install base runs versions (v23 and older) for which no patch exists at all — only a full version upgrade resolves the issue.
  • Role multiplier: PaperCut Application Servers are typically domain-joined Windows servers running as SYSTEM. SYSTEM on a domain-joined host yields machine account credentials, enabling NTLM relay, Kerberos ticket harvesting, and lateral movement. In environments where PaperCut integrates with Active Directory for user/group sync (the default configuration), the server often holds or can request elevated directory credentials. The blast radius extends from host → domain, making this a fleet-compromise vector in typical enterprise deployments. This is not a workstation-class target — it is a centralized server managing print infrastructure for the entire organization.
  • Exposure surface is meaningful: ~1,000 internet-facing instances per ShadowServer, and virtually every enterprise deployment is reachable from the internal LAN. Internal attacker position (post-phish, post-VPN) trivially reaches PaperCut.

Why not higher?

There is no severity above CRITICAL. A 9.4 score already reflects the maximum practical severity bucket. The only reason this is not a 10.0 is that the Availability impact in the chained scenario is partial rather than total — the server continues running while executing attacker payloads.

Why not lower?

Downgrading below CRITICAL is not defensible. The chain is pre-auth, actively exploited, runs as SYSTEM, affects all versions, the first patch was bypassed, and the target is a centralized domain-joined server. Every friction-based argument (only ~1,000 internet-facing) is negated by the fact that internal network access trivially reaches the target, and attackers are already demonstrating operational use. The role multiplier (domain-joined SYSTEM server) floors this at CRITICAL.

05 · Compensating Control

What to do — in priority order.

  1. Block external access to PaperCut ports 9191/9192 immediately — Restrict PaperCut Application Server web interface to trusted internal IP ranges using firewall rules. This eliminates the internet-facing attack surface for the ~1,000 exposed instances. Deploy within the noisgate mitigation SLA of 3 days — but given active exploitation, do this today.
  2. Restrict internal access to PaperCut admin interface to admin workstations only — Even behind the firewall, limit access to ports 9191/9192 to a small set of administrator source IPs via host firewall or network ACL. This reduces the internal attack surface from 'any LAN host' to a handful of jump boxes. Deploy within 3 days.
  3. Deploy EDR detection rule for pc-app.exe spawning shell processes — Create a high-fidelity EDR rule alerting on pc-app.exe (Windows) or the papercut process (Linux) spawning cmd.exe, powershell.exe, bash, sh, or any child process. This detects post-exploitation even if the vulnerability is successfully exploited. Deploy within 3 days.
  4. Enable file-integrity monitoring on PaperCut server/lib/ directory — Monitor for creation of unexpected .class files in the PaperCut server/lib/ directory. The attack chain requires dropping a malicious .class file here. FIM alerts provide near-real-time detection of exploitation attempts.
  5. Forward PaperCut server.log to SIEM and alert on gaps — Attackers delete or truncate server.log post-exploitation. Forwarding logs to a SIEM ensures you retain evidence and can alert on log deletion or gaps. Look for jdbc:derby:memory:pwn or No suitable driver found for jdbc:no:x entries.
What doesn't work
  • Application-layer WAF rules alone — the auth bypass in CVE-2026-81578 exploits internal page-component logic that generic WAF signatures cannot reliably distinguish from legitimate traffic without PaperCut-specific rules that did not exist pre-disclosure.
  • Disabling the PaperCut web interface — the web management interface is required for PaperCut to function; disabling it breaks print management entirely and is equivalent to taking the service offline.
  • Patching to Emergency Patch Release 1 — the first patch (released Aug 27) was bypassed by watchTowr within 24 hours. Only Emergency Patch Release 2 (Aug 28) addresses the known bypasses. Verify you are on Release 2.
06 · Verification

Crowdsourced verification payload.

Run this on each PaperCut Application Server host (Windows). Execute as Administrator in PowerShell. Example: .\Check-PaperCutCVE202682078.ps1. The script checks the installed PaperCut version against known-patched build numbers and inspects for IOCs.

noisgate-verify.ps1
POWERSHELLREAD-ONLYSAFE
#Requires -RunAsAdministrator
# Check-PaperCutCVE202682078.ps1
# Checks PaperCut NG/MF for CVE-2026-82078 vulnerability and IOCs
# Output: VULNERABLE / PATCHED / UNKNOWN
# Exit codes: 1=VULNERABLE, 0=PATCHED, 2=UNKNOWN

$ErrorActionPreference = 'SilentlyContinue'
$status = 'UNKNOWN'
$exitCode = 2
$findings = @()

# Locate PaperCut installation
$pcPaths = @(
    'C:\Program Files\PaperCut MF',
    'C:\Program Files\PaperCut NG',
    'C:\Program Files (x86)\PaperCut MF',
    'C:\Program Files (x86)\PaperCut NG'
)

$installPath = $null
foreach ($p in $pcPaths) {
    if (Test-Path $p) { $installPath = $p; break }
}

if (-not $installPath) {
    Write-Host 'PaperCut installation not found on this host.'
    Write-Host 'UNKNOWN'
    exit 2
}

Write-Host "PaperCut found at: $installPath"

# Check version from version.txt or build.txt
$versionFile = Join-Path $installPath 'server\version.txt'
$buildFile = Join-Path $installPath 'server\build.txt'
$version = $null

if (Test-Path $versionFile) {
    $version = (Get-Content $versionFile -Raw).Trim()
    Write-Host "Version: $version"
}
if (Test-Path $buildFile) {
    $build = (Get-Content $buildFile -Raw).Trim()
    Write-Host "Build: $build"
}

# Known patched builds (Emergency Patch Release 2, Aug 28 2026)
$patchedBuilds = @(76496, 76497)

if ($build) {
    $buildNum = [int]($build -replace '[^0-9]', '')
    if ($buildNum -ge 76496) {
        $status = 'PATCHED'
        $exitCode = 0
        $findings += "Build $buildNum is at or above Emergency Patch Release 2."
    } else {
        $status = 'VULNERABLE'
        $exitCode = 1
        $findings += "Build $buildNum is BELOW Emergency Patch Release 2 (76496+)."
    }
} elseif ($version) {
    # Try to parse major version
    $major = [int]($version.Split('.')[0])
    if ($major -le 23) {
        $status = 'VULNERABLE'
        $exitCode = 1
        $findings += "Version $major has NO patch available. Upgrade required."
    } else {
        $findings += "Version $version detected but build number unavailable. Manual verification needed."
    }
}

# Check for IOCs
$libPath = Join-Path $installPath 'server\lib'
$dataPath = Join-Path $installPath 'server\data\content'

# Suspicious .class files in server/lib
if (Test-Path $libPath) {
    $suspiciousClass = Get-ChildItem $libPath -Filter '*.class' -ErrorAction SilentlyContinue |
        Where-Object { $_.Name -notmatch '^(org|com|net|java)' }
    if ($suspiciousClass) {
        $status = 'VULNERABLE'
        $exitCode = 1
        $findings += "IOC: Suspicious .class files in server/lib: $($suspiciousClass.Name -join ', ')"
    }
}

# Suspicious .cmd/.out files in data/content
if (Test-Path $dataPath) {
    $suspiciousFiles = Get-ChildItem $dataPath -Include '*.cmd','*.out' -Recurse -ErrorAction SilentlyContinue
    if ($suspiciousFiles) {
        $findings += "IOC: Suspicious files in data/content: $($suspiciousFiles.Name -join ', ')"
    }
}

# Check server.log for exploitation indicators
$logPath = Join-Path $installPath 'server\logs\server.log'
if (Test-Path $logPath) {
    $logContent = Get-Content $logPath -Raw -ErrorAction SilentlyContinue
    if ($logContent -match 'jdbc:derby:memory:pwn|No suitable driver found for jdbc:no:x|Database error looking up cardID: VALUES CAST') {
        $status = 'VULNERABLE'
        $exitCode = 1
        $findings += 'IOC: Exploitation indicators found in server.log!'
    }
} else {
    $findings += 'WARNING: server.log missing or inaccessible (possible post-exploitation log deletion).'
}

Write-Host ''
Write-Host '--- Findings ---'
foreach ($f in $findings) { Write-Host "  $f" }
Write-Host ''
Write-Host $status
exit $exitCode
07 · Bottom Line

If you remember one thing.

TL;DR
This is an actively exploited pre-authentication RCE zero-day affecting every PaperCut NG/MF installation worldwide. Do not wait until Monday morning — act today. Immediately restrict network access to PaperCut ports 9191/9192 to trusted admin IPs only (this is your noisgate mitigation SLA: ≤3 days for CRITICAL, but active exploitation overrides that to hours). Apply Emergency Patch Release 2 (Aug 28) to all PaperCut servers on versions 24, 25, and 26 — do NOT use Release 1, which was bypassed. If you are running v23 or earlier (47% of tracked installs), you must perform a full version upgrade — there is no patch for legacy versions. Check every PaperCut host for IOCs: unexpected .class files in server/lib/, Derby memory references in server.log, and pc-app.exe spawning shell processes. The noisgate remediation SLA for CRITICAL is ≤90 days, but given confirmed zero-day exploitation, treat full patching as an immediate priority — your target is complete rollout within one week, not 90 days.

Sources

  1. Huntress — PaperCut Zero-Day Active Exploitation Analysis
  2. BleepingComputer — PaperCut Releases Second Emergency Patch
  3. The Hacker News — Attackers Chain Two PaperCut Flaws
  4. PaperCut — Urgent Security Advisory (27 Aug 2026)
  5. Help Net Security — PaperCut NG/MF Zero-Day Attacks
  6. SC Media — PaperCut Emergency Patches for Critical Vulnerability
  7. CWE-470: Unsafe Reflection — MITRE
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.