CVE-2026-92704: SharpEmu: Cross-site request forgery in the debugger frontend leads to arbitrary process execution
SharpEmu is an experimental PlayStation 5 emulator for Windows and Linux. In version 0.0.3-release.3 and earlier, the repository-provided debugger frontend tooling is vulnerable while running. This tooling is not included in the release archives. The frontend exposes an HTTP API on 127.0.0.1:8765 without authentication or CSRF token. Its doPOST handler in tools/SharpEmu.DebuggerFrontend/debuggerfrontend.py does not validate the Origin, Referer, Sec-Fetch-Site, or Host headers. The readjsonbody() function also accepts JSON sent with browser-simple content types instead of requiring application/json . A malicious page that can reach the loopback listener can send cross-origin requests to /api/launch , /api/command , and /api/connect . Chromium may require Local Network Access permission for pages served from public origins. Local-origin pages and other delivery paths are not consistently subject to this restriction. The /api/launch endpoint accepts an attacker-selected emulatorPath if it points to an existing file on the victim’s host. On POSIX systems, that file must also be executable. The endpoint additionally requires an existing ebootPath . The /api/command endpoint exposes debugger operations, including write-memory , set-register , and continue . The /api/connect endpoint can initiate outbound TCP connections. These operations can let an attacker execute an existing binary with the victim’s privileges, control the attached emulated process, or reach network services accessible from the host. DNS rebinding can additionally let the attacker read API responses interactively. This issue is fixed in version 0.0.3-release.3-patch.1
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
SharpEmu debugger frontend toolingto a version that resolves this vulnerability.Fixed in 0.0.3-release.3-patch.1
Event History
Frequently Asked Questions
Are users of the downloadable release archives exposed?
The debugger frontend tooling is not included in the release archives. Exposure is limited to users running the repository-provided debugger frontend tooling.
What must an attacker be able to do to trigger process execution through the launch API?
The attacker needs to cause a victim browser to send cross-origin requests to the loopback service on 127.0.0.1:8765. For /api/launch, the attacker-selected emulatorPath must exist on the victim host, must be executable on POSIX systems, and an existing ebootPath is also required.
Do browser protections prevent exploitation from a malicious public website?
Not reliably. Chromium may require Local Network Access permission for public-origin pages, but local-origin pages and other delivery paths are not consistently subject to that restriction.
How can I determine whether a system is affected?
Check whether version 0.0.3-release.3 or earlier is in use and whether the repository-provided debugger frontend is running. An affected running frontend exposes an unauthenticated HTTP API on 127.0.0.1:8765.
What can be done while an update is not available?
Do not run the repository-provided debugger frontend when it is not needed. The issue applies while that frontend tooling is running.