CVE-2026-53649
nicheUnauthenticated RCE in Joro web exploitation framework via local proxy API
Joro versions prior to 1.1.1 expose an unauthenticated local API on 127.0.0.1:9090 when running in default proxy mode, and that API applies a wildcard CORS policy. Because the privileged endpoints accept CORS-safelisted multipart/form-data uploads, JavaScript on any website the operator visits can silently upload a plugin or trigger a restart through the operator's own browser, with no preflight request or credentials required (a cross-site request forgery against a localhost service). Since uploaded plugins execute on load, an attacker gains unauthenticated remote code execution on the operator's machine, running with the operator's user privileges, from a single malicious page visit. Affected users are operators of the Joro web exploitation framework — typically security researchers and penetration testers — running any version before 1.1.1 in default proxy mode. Exploitation is not currently known to occur in the wild: there is no public proof of concept, the EPSS score is low (0.2% over 30 days), and the flaw is not in CISA's KEV catalog.
What to do: Upgrade Joro to version 1.1.1 or later, which closes the unauthenticated local API exposure. Until upgraded, avoid browsing untrusted websites from any host running Joro's proxy, or restrict the local API (e.g., disable it or change the default port/bind) while working. Also check the framework's plugin directory for unexpected uploads and review recent unexpected restarts as signs of prior exploitation.
| Joro web exploitation framework | all versions prior to 1.1.1 (default proxy mode); fixed in 1.1.1 |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
Joro is a web exploitation framework. Prior to version 1.1.1, Joro's default proxy mode exposes a local API on 127.0.0.1:9090 that performs no authentication and applies a wildcard CORS policy. Because plugin uploads use the CORS-safelisted multipart/form-data content type, cross-origin JavaScript on any page the operator visits can reach privileged endpoints - including uploading a native plugin and triggering a restart - directly through the operator's browser, with no preflight or credentials. Since plugins execute on load, this yields unauthenticated remote code execution as the operator's user from a single page visit. This issue has been patched in version 1.1.1.
- Weakness
- CWE-306, CWE-352, CWE-434, CWE-942
- Vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
In the news0 stories
No ingested article mentions this CVE yet.