Unauthenticated RCE in JoomShaper SP LMS (com_splms) via Cookie Deserialization
CVE-2026-48909 affects JoomShaper SP LMS (com_splms) versions prior to 4.1.4. The component deserializes user-controlled cookie data without proper validation or integrity protection. Because attacker-supplied serialized data from a cookie is processed by the application, an unauthenticated remote attacker can supply a crafted payload that triggers unsafe deserialization behavior and achieve arbitrary code execution on the server.
Are you exposed to this one?
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
Impact, mitigation & remediation
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
Impact
What an attacker gets, and what they’ve been doing with it.
Mitigation
If you can’t patch tonight, do this now.
Remediation
Patch, then assume compromise.
Exploits
1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos.
Repository contains two Python scripts and supporting documentation for CVE-2026-48909, a PHP object injection flaw in JoomShaper SP LMS (com_splms). The structure is simple: one detection script (CVE-2026-48909.py), one exploitation script (CVE-2026-48909_exploit.py), plus README, license, and .gitignore. The detection script is not an exploit by itself; it probes the Joomla SP LMS cart endpoint /index.php?option=com_splms&view=cart using the lmsOrders cookie with benign and serialized test values, then infers vulnerability from HTTP status changes, PHP error text, response size differences, or timing anomalies. The exploit script is a real unauthenticated web attack that targets the same endpoint and abuses unsafe unserialize(base64_decode(cookie)) behavior. It constructs a serialized Joomla FormattedtextLogger gadget chain, base64-encodes it, and iterates padding to avoid Joomla cookie filtering of '/', '+', and '='. On success, the gadget writes PHP code to an attacker-specified absolute server path, creating a webshell. The script then requests the written file once to trigger overwrite logic and again with ?c=id to verify command execution. Main capabilities are vulnerability detection, payload generation that is filter-safe, arbitrary file write via gadget chain, webshell deployment, and remote command execution through a GET parameter. No hardcoded external C2 or third-party network infrastructure is present; all network interaction is directed at the supplied target URL and the derived shell URL. Overall, this is a focused Python PoC/operational exploit repository for unauthenticated RCE against vulnerable Joomla SP LMS installations, with the exploit dependent on both SP LMS <= 4.1.3 and Joomla versions prior to 5.2.2 for the public gadget chain to succeed.
Affected products & vendors
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.
Recent activity
12 sources tracked across advisories and community write-ups. News coverage will land here when it surfaces.
No news coverage yet. Advisories and community discussion only.
The version that knows your environment.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.