← Back to Feed CACHED · 2026-08-29 13:35:49 · CACHE_KEY CVE-2026-81578
CVE-2026-81578 · CWE-305 · Disclosed 2026-08-28

An improper access control vulnerability exists in the web management interface of PaperCut MF and PaperCut…

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

Someone left the print room door open and attackers are already inside stealing the master keys

CVE-2026-81578 is an authentication bypass in the web management interface of PaperCut MF and PaperCut NG, all versions prior to the Aug 27, 2026 emergency patches. The flaw abuses Apache Tapestry's "complex direct" request format: an attacker crafts a request that renders one (unauthenticated) page while silently executing administrative components from another page. The server's authorization logic trusts the rendered page and never checks permissions on the backend action. On its own this grants unauthenticated configuration modification — but when chained with CVE-2026-82078 (unsafe dynamic class-loading in JDBC driver instantiation, CVSS 9.4), the result is pre-authentication remote code execution as SYSTEM. Every version of PaperCut MF and NG ever shipped is affected. Emergency patches exist for versions 24, 25, and 26, but roughly 47% of tracked installations run v23 or older with no patch available.

There is no official vendor CVSS for CVE-2026-81578; third-party trackers assign 8.8 (High). That label drastically understates reality. This vulnerability is actively exploited as a zero-day — Huntress confirmed compromise in two customer environments within hours of disclosure, with full SYSTEM-level code execution reproduced in under two minutes. The initial emergency patch was bypassed the same day; a second hardened patch followed on Aug 28. watchTowr researchers have identified additional bypasses affecting even the latest patch. Treating this as merely HIGH ignores the live exploitation, the trivial attack chain, and the fragile patch posture. This is CRITICAL by any operational definition.

"Pre-auth RCE chain actively exploited as zero-day; patch immediately, restrict access now."
02 · The Attack Path

5 steps from start to impact.

STEP 01

Identify exposed PaperCut web interface

The attacker scans for PaperCut NG/MF Application Server web interfaces, typically on port 9191 (HTTP) or 9192 (HTTPS). ShadowServer reports approximately 1,000 instances currently exposed to the public internet. Internal network scanning is also trivial since PaperCut servers are often discoverable via DNS or service enumeration.
Conditions required:
  • Network access to PaperCut web management port (9191/9192)
Where this breaks in practice:
  • Only ~1,000 instances are internet-facing per ShadowServer; most are internal-only
Detection/coverage: Shodan/Censys dorks for PaperCut; runZero asset inventory can identify internal instances
STEP 02

Send Tapestry complex-direct auth bypass request

The attacker sends a crafted HTTP request to endpoints like /app?service=direct/1/Error/ConfigEditor/quickFindForm that exploits Apache Tapestry's request routing. The request renders an unauthenticated error page while executing administrative ConfigEditor components in the backend. PaperCut's authorization trusts the rendered page context and skips permission checks on the executed component. No credentials, cookies, or tokens are required.
Conditions required:
  • HTTP/HTTPS connectivity to the PaperCut web interface
  • No authentication required
Where this breaks in practice:
  • None — this is a single unauthenticated HTTP request
Detection/coverage: WAF rules matching Tapestry direct-service request patterns; monitor access logs for /app?service=direct/ requests referencing ConfigEditor or UserList components
STEP 03

Modify database connection configuration

Using the auth bypass, the attacker modifies PaperCut's external database lookup settings to inject a malicious JDBC driver class name. The configuration change is persistent and takes effect immediately. The attacker points the driver configuration to a class path containing attacker-controlled Java bytecode.
Conditions required:
  • Successful auth bypass from step 2
Where this breaks in practice:
  • None — configuration writes are immediate and unrestricted once auth is bypassed
Detection/coverage: Log entry: ERROR No suitable driver found for jdbc:no:x; unexpected changes to external user-lookup configuration
STEP 04

Trigger unsafe class-loading for RCE (CVE-2026-82078)

The attacker writes hex-encoded Java .class files to the PaperCut server's server/lib/ directory and triggers the database connection utility, which instantiates the malicious driver class without allowlist validation. The Java bytecode executes within the pc-app.exe process, which runs as NT AUTHORITY\SYSTEM on Windows. The entire chain completes in under two minutes. Observed post-exploitation includes whoami & ver, tasklist, and log cleanup.
Conditions required:
  • Successful configuration modification from step 3
  • PaperCut Application Server running as SYSTEM (default)
Where this breaks in practice:
  • None — this is the default configuration and the class-loading has no validation
Detection/coverage: Monitor for child processes spawned by pc-app.exe (cmd.exe, powershell.exe); unexpected .class files in server/lib/; files matching pattern *.cmd and *.out in server/data/content/; derby boot logs with irregular database names like jdbc:derby:memory:pwn
STEP 05

Post-exploitation: lateral movement

With SYSTEM on the PaperCut server, the attacker harvests credentials (PaperCut often authenticates against Active Directory via LDAP), pivots to other systems, and establishes persistence. PaperCut servers frequently hold AD service account credentials with directory read access. Log cleanup (deletion/truncation of server.log and derby.log) was observed in the wild.
Conditions required:
  • SYSTEM-level access on PaperCut server
  • Network connectivity to other internal hosts
Where this breaks in practice:
  • EDR on the PaperCut host may detect post-exploitation activity
  • Network segmentation may limit lateral movement
Detection/coverage: EDR alerts on credential access from PaperCut server process; deleted/truncated log files; Sysmon event ID 1 for suspicious child processes of pc-app.exe
03 · Intelligence Metadata

The supporting signals.

In-the-Wild ExploitationCONFIRMED — Huntress detected active exploitation in two customer environments on Aug 27, 2026. Attacks completed full pre-auth RCE chain in under 2 minutes. Post-exploitation included system enumeration and log cleanup.
Proof of ConceptAvailable — watchTowr and Huntress independently reproduced full pre-auth RCE. watchTowr discovered multiple patch bypasses. Huntress demonstrated SYSTEM-level charmap.exe execution against stock NG 25.0.11.75758.
EPSS ScoreNot yet scored (CVE disclosed Aug 28, 2026 — EPSS typically lags 24-48h). Expect top 1% percentile given confirmed exploitation.
KEV StatusNot yet listed as of Aug 29, 2026. Expect imminent addition given confirmed zero-day exploitation.
CVSS VectorThird-party assessment: CVSS:4.0 8.8 (High). Chain with CVE-2026-82078 (CVSS 9.4) yields effective pre-auth RCE. Network-accessible, no privileges required, no user interaction.
Affected VersionsAll versions of PaperCut NG and PaperCut MF prior to the Aug 27, 2026 emergency patches. This includes every release ever shipped.
Fixed VersionsEmergency Patch Release 2 (Aug 28, 2026) for v24, v25, v26 on Windows/Linux/macOS. Specific build: NG/MF 25.0.12.76497 (Windows). No patches for v23 and older (~47% of installations). Patch bypasses reported against even the latest patch.
Exposure Data~1,000 instances internet-exposed per ShadowServer Foundation, majority in North America and Europe. PaperCut claims 100M+ users across 70K+ organizations globally.
Disclosure TimelineAug 27, 2026: PaperCut advisory + first emergency patch. Aug 28: CVE IDs assigned, second emergency patch (Release 2) after bypass discovery. watchTowr/Huntress credited.
Credited ResearcherswatchTowr (patch bypass discovery, reproduction) and Huntress (in-the-wild detection, full chain reproduction). Original vulnerability reporter not publicly named.
04 · The Call

noisgate verdict.

Final Verdict
= UNCHANGED to CRITICAL (9.2/10)

Active zero-day exploitation of a pre-authentication RCE chain running as SYSTEM, with no friction in the attack path and fragile patch posture (bypasses confirmed against initial patches, 47% of installs have no patch at all), is the single most decisive factor. The chain requires zero credentials, zero user interaction, and completes in under two minutes from first request to SYSTEM shell.

HIGH Exploitation is confirmed in the wild and independently reproduced by multiple researchers
HIGH Attack chain is fully documented with specific endpoints and IOCs
MEDIUM Patch completeness — bypasses against latest patch reported but not fully detailed

Why this verdict

  • Pre-auth, zero-friction chain: CVE-2026-81578 requires no credentials, no user interaction, and no special configuration. A single HTTP request bypasses authentication. Chained with CVE-2026-82078, the attacker achieves SYSTEM-level RCE. No downward adjustment warranted for friction — there is none.
  • Active zero-day exploitation: Huntress confirmed compromise in two customer environments within hours of disclosure. Exploitation is trivial and reproducible. This alone floors the verdict at CRITICAL regardless of other factors.
  • Fragile patch posture: The first emergency patch was bypassed within hours. Emergency Patch Release 2 includes "additional hardening" but watchTowr has identified further bypasses. 47% of installations run v23 or older with no patch available at all.
  • Role multiplier: PaperCut NG/MF is a print management server — typically a line-of-business server (category b). However, it commonly authenticates against Active Directory via LDAP and stores AD service account credentials. SYSTEM access on the PaperCut host yields these credentials, enabling lateral movement to domain controllers. In AD-integrated deployments (the majority of enterprise installs), the blast radius extends from host → domain. With ~70K organizations and 100M+ users globally, the installed base is substantial. The chain succeeds regardless of deployment role. Floor: CRITICAL based on the domain-escalation path in typical enterprise deployments combined with active exploitation.
  • Broad exposure surface: ~1,000 instances are internet-facing per ShadowServer. All internal instances are also vulnerable from any network position that can reach port 9191/9192. The 100% affected version range means every PaperCut server is a target.

Why not higher?

The score is already at the top of the CRITICAL range. A 10.0 would require a self-propagating worm or supply-chain compromise affecting all downstream consumers. While severe, this chain requires per-target exploitation and does not self-propagate.

Why not lower?

Every downgrade factor fails here. There is no authentication requirement (pre-auth). There is no user interaction requirement. There is no narrow version range (all versions affected). There is active exploitation. The process runs as SYSTEM. Patch bypasses exist. Downgrading below CRITICAL would be negligent given confirmed zero-day exploitation of a frictionless RCE chain.

05 · Compensating Control

What to do — in priority order.

  1. Block external access to PaperCut web ports (9191/9192) immediately — The most impactful control — eliminates the internet-facing attack surface entirely. Deploy firewall rules within hours. Even internal exploitation requires network access to these ports, so restricting to admin VLANs reduces blast radius. Under noisgate mitigation SLA for CRITICAL, deploy within 3 days — but given active exploitation, do this today.
  2. Apply Emergency Patch Release 2 for PaperCut NG/MF v24, v25, v26 — Install the latest emergency patches (Aug 28 build). Be aware that patch bypasses have been reported — this is defense-in-depth, not a complete fix. Monitor PaperCut's advisory page for Release 3. Under noisgate remediation SLA, complete within 90 days — but given active exploitation, patch within 72 hours.
  3. Deploy WAF rules blocking Tapestry direct-service request patterns — Block HTTP requests matching /app?service=direct/ with component references to ConfigEditor, UserList, or QuickFind. This catches the known exploit paths and buys time while patches stabilize.
  4. Monitor PaperCut server for IOCs — Check for: unexpected .class files in server/lib/, files in server/data/content/ with .cmd/.out extensions, log entries containing jdbc:derby:memory:pwn or No suitable driver found for jdbc:no:x, deleted/truncated server.log files, and child processes of pc-app.exe (cmd.exe, powershell.exe, whoami.exe).
  5. Rotate AD service account credentials used by PaperCut — If PaperCut authenticates against AD (common in enterprise), assume the LDAP bind credentials stored on the server are compromised if any exploitation IOCs are found. Rotate immediately and audit the service account's permissions.
  6. Isolate PaperCut servers on a dedicated VLAN with egress filtering — Limit the PaperCut server's ability to reach other internal systems. Deny outbound SMB, LDAP, and RDP to non-essential hosts. This constrains lateral movement if the server is compromised.
What doesn't work
  • Disabling unused PaperCut features — the vulnerability is in the core web management interface (Tapestry request routing), not in an optional module. You cannot disable the affected component without taking the service offline entirely.
  • Application-layer authentication (SSO/MFA) in front of PaperCut — the auth bypass occurs within PaperCut's own request processing before any front-end authentication layer is consulted, unless you use a reverse proxy that strips or rewrites the Tapestry direct-service URL pattern entirely.
  • Upgrading to v23 or older patched builds — no patches exist for v23 and below. If you cannot upgrade to v24+, your only option is network-level access restriction.
06 · Verification

Crowdsourced verification payload.

Run this script on each PaperCut NG/MF Application Server host (Linux or macOS) as any user with read access to the PaperCut installation directory. Example: bash check_cve_2026_81578.sh /home/papercut or bash check_cve_2026_81578.sh /opt/papercut. On Windows, adapt the file path checks or use the PowerShell equivalent.

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/usr/bin/env bash
# check_cve_2026_81578.sh — CVE-2026-81578 PaperCut NG/MF Auth Bypass Check
# Usage: bash check_cve_2026_81578.sh <PAPERCUT_INSTALL_DIR>
# Exit codes: 1=VULNERABLE, 0=PATCHED, 2=UNKNOWN

set -euo pipefail

INSTALL_DIR="${1:-/opt/papercut}"
SERVER_DIR="$INSTALL_DIR/server"
VERSION_FILE="$SERVER_DIR/version.txt"
LIB_DIR="$SERVER_DIR/lib"
DATA_DIR="$SERVER_DIR/data/content"
LOG_FILE="$SERVER_DIR/logs/server.log"

echo "=== CVE-2026-81578 PaperCut NG/MF Vulnerability Check ==="
echo "Install dir: $INSTALL_DIR"
echo ""

# Check installation exists
if [ ! -d "$SERVER_DIR" ]; then
  echo "UNKNOWN — PaperCut server directory not found at $SERVER_DIR"
  exit 2
fi

# Read version
if [ -f "$VERSION_FILE" ]; then
  VERSION=$(head -1 "$VERSION_FILE" 2>/dev/null || echo "unknown")
  echo "Installed version: $VERSION"
else
  echo "WARNING: version.txt not found"
  VERSION="unknown"
fi

# Check for Emergency Patch Release 2 indicators
# Build numbers >= 76496 (NG) or 76497 (MF) for v25 indicate patched
BUILD=$(echo "$VERSION" | grep -oP '\d+$' 2>/dev/null || echo "0")
PATCHED=0

if [ "$BUILD" -ge 76496 ] 2>/dev/null; then
  echo "Build $BUILD is >= 76496 (Emergency Patch Release 2 threshold)"
  PATCHED=1
fi

# Check for IOCs
IOC_FOUND=0
echo ""
echo "--- IOC Checks ---"

# Check for suspicious .class files in lib
if [ -d "$LIB_DIR" ]; then
  SUSPECT_CLASSES=$(find "$LIB_DIR" -name '*.class' -newer "$LIB_DIR" -mtime -7 2>/dev/null | head -10)
  if [ -n "$SUSPECT_CLASSES" ]; then
    echo "WARNING: Suspicious .class files found in $LIB_DIR:"
    echo "$SUSPECT_CLASSES"
    IOC_FOUND=1
  else
    echo "OK: No suspicious .class files in $LIB_DIR"
  fi
fi

# Check for .cmd/.out files in data/content
if [ -d "$DATA_DIR" ]; then
  SUSPECT_CMD=$(find "$DATA_DIR" -name '*.cmd' -o -name '*.out' 2>/dev/null | head -10)
  if [ -n "$SUSPECT_CMD" ]; then
    echo "WARNING: Suspicious .cmd/.out files found in $DATA_DIR:"
    echo "$SUSPECT_CMD"
    IOC_FOUND=1
  else
    echo "OK: No suspicious .cmd/.out files in $DATA_DIR"
  fi
fi

# Check logs for exploitation signatures
if [ -f "$LOG_FILE" ]; then
  if grep -qiE 'jdbc:derby:memory:pwn|No suitable driver found for jdbc:no' "$LOG_FILE" 2>/dev/null; then
    echo "WARNING: Exploitation log signatures found in server.log"
    IOC_FOUND=1
  else
    echo "OK: No exploitation signatures in server.log"
  fi
  # Check if log was recently truncated (size 0 or very small but file is old)
  LOG_SIZE=$(stat -c%s "$LOG_FILE" 2>/dev/null || stat -f%z "$LOG_FILE" 2>/dev/null || echo "0")
  if [ "$LOG_SIZE" -lt 100 ] 2>/dev/null; then
    echo "WARNING: server.log is suspiciously small ($LOG_SIZE bytes) — may have been truncated"
    IOC_FOUND=1
  fi
else
  echo "WARNING: server.log not found — may have been deleted (IOC)"
  IOC_FOUND=1
fi

echo ""
echo "--- Verdict ---"
if [ "$IOC_FOUND" -eq 1 ]; then
  echo "ALERT: IOCs detected — this host may have been COMPROMISED. Investigate immediately."
fi

if [ "$PATCHED" -eq 1 ]; then
  echo "PATCHED — Emergency Patch Release 2 or later detected (build $BUILD)"
  exit 0
else
  echo "VULNERABLE — PaperCut version $VERSION is affected by CVE-2026-81578"
  echo "Apply Emergency Patch Release 2 and restrict network access to ports 9191/9192 immediately."
  exit 1
fi
07 · Bottom Line

If you remember one thing.

TL;DR
This is a live zero-day — treat it as a fire drill. Monday morning is too late; act today (Aug 29). Immediately restrict network access to PaperCut web management ports 9191 and 9192 to trusted admin IPs only using firewall rules — this is your noisgate mitigation SLA action and given active exploitation it should be done within hours, not the standard 3-day CRITICAL window. Apply PaperCut Emergency Patch Release 2 for versions 24, 25, and 26 within 72 hours as your noisgate remediation SLA action (the standard 90-day CRITICAL window is inappropriate here due to confirmed exploitation — treat this as an override). If you are running PaperCut v23 or older, there is no patch — isolate or decommission those servers. Check every PaperCut server for IOCs (suspicious .class files, truncated logs, jdbc:derby:memory:pwn log entries) and rotate any AD service account credentials stored in PaperCut's configuration. Monitor PaperCut's advisory page daily for Patch Release 3, as bypasses against Release 2 have been reported.

Sources

  1. PaperCut Urgent Security Advisory (Aug 27, 2026)
  2. Huntress — PaperCut Zero-Day: Active Exploitation and Pre-Auth RCE
  3. Rapid7 — PaperCut NG/MF Critical Zero-Day Exploited in the Wild
  4. BleepingComputer — PaperCut Releases Second Emergency Patch
  5. The Hacker News — Attackers Chain Two PaperCut Flaws
  6. Help Net Security — PaperCut NG/MF Vulnerabilities Exploited
  7. SC Media — PaperCut Emergency Patches
  8. NHS England — PaperCut Critical Vulnerabilities Alert
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.