CVE-2026-48842 — Roundcube Webmail Pre-Auth SQLi (virtuser_query)
September 25, 2026 · 551 views
Pre-authentication SQL injection in Roundcube Webmail via the virtuser_query plugin and a preg_replace() backslash escape bypass. Affects 1.6.x before 1.6.16 and 1.7.x before 1.7.1 (CVSS 3.1 8.1 HIGH).
Description
Overview
CVE-2026-48842 is a pre-authentication SQL injection in Roundcube Webmail when the virtuser_query plugin is enabled. The flaw involves improper handling of backslash escaping in preg_replace(), allowing attacker-controlled username input on the login path to reach SQL built by the plugin (CWE-89).
Roundcube is a widely deployed browser-based IMAP client; many hosts expose it at paths such as /webmail/ or /roundcube/.
Affected versions
| Branch | Vulnerable | Fixed in | |--------|------------|----------| | 1.6.x | before 1.6.16 | 1.6.16 | | 1.7.x | before 1.7.1 | 1.7.1 |
Confirm your rcversion on the login page or upgrade to a patched release from the vendor.
Attack surface
- Vector: Network, no authentication required (login POST with crafted
_user/ related fields). - Plugin:
virtuser_query(virtual user mapping via SQL). - Complexity: CVSS attack complexity is High; exploitation still warrants urgent patching on internet-facing webmail.
Bundled PoC (check mode)
The member download is a Python 3 checker aligned with this CVE:
- Discovers Roundcube under common paths (
/roundcube/,/webmail/, etc.). - Parses rcversion and flags versions in the affected ranges.
- Optionally detects virtuser_query plugin presence.
- With
--verify, sends safe login probes (error-based / time-based signals) — use only on authorized targets.
Mass-scan flags (--list, threading) are for inventories you own or have written permission to test.
Impact
Successful SQL injection can lead to confidentiality, integrity, and availability impact on the mail platform database (credential theft, mail metadata access, or further chaining depending on DB privileges).
Remediation
- Upgrade to Roundcube 1.6.16 or 1.7.1 (or newer supported branch per Roundcube security news).
- If virtuser_query is unused, remove or disable the plugin until patched.
- Restrict webmail to VPN / allowlisted IPs where feasible.
- Review DB account privileges for the Roundcube application user (least privilege).
Legal and ethical use
Test only Roundcube instances you operate or are explicitly authorized to assess. Unauthorized SQL injection attempts against third-party mail servers are illegal in most jurisdictions.
References
Related PoCs
Same platform, vendor, or tags — explore more write-ups on Pocbit.
- Web appCVE-2026-109618critical
CVE-2026-109618 / CVE-2026-109619 — PHP php2shell (session.upload_progress UAF)
PHP core php2shell pair: session.upload_progress multipart timing UAF (618 trigger + 619 offset RCE). CVSS 9.2. Python stdlib PoC: check GET fingerprint + bulk JSONL; exploit smart 618 multi-path or 619 --call. Patch 8.2.35/8.3.36/8.4.27/8.5.12+.
- Web appCVE-2026-106445critical
CVE-2026-106445 — Handlebars 4.0.0–4.7.9 RCE (Function.prototype.constructor Bypass)
handlebars 4.0.0–4.7.9: lookupProperty own-property order bypasses proto deny list → Function.prototype.constructor → sandbox escape when allowProtoMethodsByDefault:true and attacker-controlled compile (CWE-184/CWE-1289). CVSS 4.0 9.2 Critical AT:P. Fixed 4.7.10 GHSA-p8wg-vrv2-v86f. Python PoC: check/exploit, Docker lab, --render-path. Marker POCBIT-106445-OK.
- Web appCVE-2026-105844critical
CVE-2026-105844 — Payload CMS Import/Export Plugin Prototype Pollution → ACL Bypass
Payload CMS + @payloadcms/plugin-import-export ≥3.0.0 <3.88.0: POST /api/exports/export-preview fields __proto__.overrideAccess pollutes Object.prototype via getSelect() → overrideAccess on later REST ops, unauthenticated data leak (app-dependent RCE). CWE-1321, CVSS 4.0 9.3 Critical. Fixed 3.88.0 / 4.0.0-canary.27. Python PoC: check/exploit/mass -j, hits.txt & exploited.txt.
- Web appCVE-2026-107181critical
CVE-2026-107181 — Telegram Desktop IPC Injection (Deep Link → Local File Read / Account Takeover)
Telegram Desktop through 7.2.8 (Windows): tg:// URI record-separator injection in single-instance IPC → legacy file path can exfil local files (session/tdata risk) after user opens crafted link. Not classic OS RCE. Fixed 7.2.9. Node.js 18+ research PoC (00nx): craft, lab server, npm test. Authorized lab only.