Database Error Indicators
Inspect [PaperCut-Dir]\server\logs\server.log for:
ERROR No suitable driver found for jdbc:no:x or ERROR DatabaseUtils - Database error looking up cardID.
PaperCut NG/MF Application Server (DatabaseUtils / pc-app.exe) CVSS v3.1 rates CVE-2026-82078 at 9.4 (CRITICAL, CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H). The Hermes Threat Score assigns an operational score of 96 (CRITICAL) due to automated exploitation in the wild by AI agent swarms and SYSTEM privilege execution.
Enterprise print management and document tracking platform deployed widely across education and corporate networks.
“Directly confirmed by PaperCut Security Bulletin and chained in RCE attacks.”
Software platform affected by security vulnerabilities and agentic attack patterns.
“Confirmed security vulnerability in PaperCut MF/NG documented in Hermes dossier.”
Adversaries abuse command and script interpreters (Bash, Python, PowerShell) to execute arbitrary commands.
“Attack execution telemetry aligns with MITRE ATT&CK technique T1059.”
| Parameter | Technical Specification | Threat Intelligence Context |
|---|---|---|
| CVE Identifier | CVE-2026-82078 | PaperCut Security Advisory & CISA KEV |
| Affected Product | papercut:papercut_ng_mf | Print Management Application Server |
| Vulnerable Component | DatabaseUtils / Driver Class Loader | Database Connection Manager (pc-app.exe) |
| Weakness Class | CWE-470: Use of Externally-Controlled Input to Select Classes or Code | Unsafe Reflection / Dynamic Code Execution |
| CVSS v3.1 Score | 9.4 (CRITICAL / Hermes Score 96) | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Fixed Versions | 24.1.10, 25.0.13, 26.0.5 | Official Emergency Patch Release 3 |
| MITRE ATT&CK | T1190 - Exploit Public-Facing Application, T1059.007 - JavaScript / Java | Initial Access / Execution |
| Campaign Link | AI-Orchestrated PaperCut Campaign | 440+ enterprise environments compromised |
During database connection initialization or reconfiguration, PaperCut dynamically loads JDBC driver classes using Java reflection based on configuration properties stored in the application database/config files:
// Vulnerable class loading logic in DatabaseUtils.java (decompiled representation)public static Connection initDatabaseConnection(ServerConfig config) throws Exception { String driverClassName = config.getProperty("database.driver"); String jdbcUrl = config.getProperty("database.url");
/* VULNERABILITY (CVE-2026-82078 / CWE-470): * The application instantiates the driver class directly using Class.forName() * without validating the class against an allowlist of approved JDBC drivers. * When chained with CVE-2026-81578, an attacker supplies an arbitrary class * or a malicious JDBC driver URL that triggers remote bytecode execution. */ Class<?> driverClass = Class.forName(driverClassName); Driver driver = (Driver) driverClass.getDeclaredConstructor().newInstance(); DriverManager.registerDriver(driver);
return DriverManager.getConnection(jdbcUrl);}When an attacker changes database.driver to a malicious gadget class or a rogue JDBC URL, Java executes static initializers or network callbacks, achieving native code execution within pc-app.exe.
database.driver to an attacker-controlled payload class.initDatabaseConnection().NT AUTHORITY\SYSTEM, spawning shells or helper utilities (lsa_read.exe, save_hives.exe).Database Error Indicators
Inspect [PaperCut-Dir]\server\logs\server.log for:
ERROR No suitable driver found for jdbc:no:x or ERROR DatabaseUtils - Database error looking up cardID.
Process Tree Monitoring
Look for child processes spawned by pc-app.exe:
pc-app.exe -> cmd.exe /c reg save HKLM\SYSTEM ...
24.1.10, 25.0.13, or 26.0.5.