CVE-2026-22738 is a Spring Expression Language injection vulnerability in Spring AI's SimpleVectorStore that can lead to remote code execution. The flaw occurs when a user-controlled value is used as a filter expression key and is incorporated into a SpEL expression that is evaluated in an unsafe context. In affected Spring AI core versions, SimpleVectorStore similarity-search filtering can pass attacker-controlled filter key material into a SpEL template evaluated with StandardEvaluationContext, exposing powerful expression features such as type references and method invocation. This can allow an attacker to inject arbitrary SpEL expressions and reach JVM functionality capable of executing operating system commands. Only applications that use SimpleVectorStore and allow untrusted input to influence the filter expression key are affected. Reported affected versions are Spring AI 1.0.0 through 1.0.4 and 1.1.0 through 1.1.3; the issue is fixed in 1.0.5 and 1.1.4.
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.
1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos (1 hidden).
This repository is a standalone Python proof-of-concept and local Docker lab for CVE-2026-22738, a critical unauthenticated SpEL injection leading to RCE in Spring AI SimpleVectorStore. The main exploit logic is in exploit.py, which uses requests to send crafted GET requests to a vulnerable /search endpoint. The exploit abuses attacker-controlled filterKey input that is embedded into a SpEL expression and evaluated by StandardEvaluationContext, allowing use of T(java.lang.Runtime).getRuntime().exec(...) for OS command execution. Repository structure: README.md documents the vulnerability, affected versions, exploitation flow, and usage. exploit.py is the operational PoC with helper functions to build SpEL payloads, perform a baseline request, run a blind property-read probe, trigger RCE by creating /tmp/pwned_cve_2026_22738, write command output to /tmp/rce_proof.txt, and optionally verify success with docker exec against the named lab container. docker-compose.yml defines a vulnerable-app service exposing host port 8082 to container port 8080 and names the container cve-2026-22738-lab. Dockerfile builds and runs a Spring Boot application jar. The stages/*.json files are supporting research/compliance/exploitation notes rather than executable exploit components. Main exploit capability: unauthenticated remote command execution over HTTP against vulnerable Spring AI applications that expose user-controlled metadata filter keys. The PoC includes both non-RCE validation (reading java.version) and direct command execution. Success is inferred from the EL1030E SpEL error returned after exec() completes, and in the local lab can be confirmed by inspecting files inside the container. This is a real exploit, not merely a detector, and it is operational but not framework-based.
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.
27 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
A remote code execution vulnerability in SpringAI SpEL, included in the study of LLM-generated vulnerability patches.
A SpringAI SpEL remote code execution vulnerability used in the study; the content notes models often produced incomplete fixes that escaped specific characters rather than addressing root cause.
A SpringAI SpEL remote code execution vulnerability included among the six flaws used to assess AI patch generation.
A Spring AI SpEL injection remote code execution vulnerability mentioned as part of vendor security history.
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.