{"id":"CVE-2026-92704","kind":"vulnerability","aliases":["CVE-2026-92704"],"related":[],"title":"SharpEmu: debugger frontend lets malicious web pages launch programs","description":"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  do_POST  handler in  tools/SharpEmu.DebuggerFrontend/debugger_frontend.py  does not validate the Origin, Referer, Sec-Fetch-Site, or Host headers. The  _read_json_body()  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","summary":"SharpEmu's repository debugger frontend runs an unauthenticated HTTP API on 127.0.0.1:8765 that accepts cross-origin requests from web pages. A malicious page can make the victim's browser launch an existing executable, write emulated process memory, change registers, or open outbound TCP connections.","severity":"high","cvss":8.3,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["debugger-frontend","linux","other","ps5-emulator","sharpemu","windows"],"not_affected_if":["debugger-frontend-not-running","release-archives-only"],"how_to_check":"- Check the SharpEmu version: `0.0.3-release.3` and earlier are affected.\n- Check whether `tools/SharpEmu.DebuggerFrontend/debugger_frontend.py` exists and is running on 127.0.0.1:8765.\n- The sources say the tooling is not included in release archives, so check whether the repository source was run.","fix":"- SharpEmu: `0.0.3-release.3-patch.1`","status":"open","published_at":"2026-11-04T16:17:55+00:00","first_seen_at":"2026-11-04T16:28:15+00:00","triaged_at":"2026-11-04T16:28:50+00:00","updated_at":"2026-11-04T16:28:50+00:00","category":"other","confidence":0.7,"triage":{"at":"2026-11-04T16:28:50Z","model":"claude-haiku-5-5","output":{"fix":"- SharpEmu: `0.0.3-release.3-patch.1`","reach":"local","title":"SharpEmu: debugger frontend lets malicious web pages launch programs","impact":"high","summary":"SharpEmu's repository debugger frontend runs an unauthenticated HTTP API on 127.0.0.1:8765 that accepts cross-origin requests from web pages. A malicious page can make the victim's browser launch an existing executable, write emulated process memory, change registers, or open outbound TCP connections.","audience":"developers","category":"other","nicknames":[],"who_cares":["sharpemu","windows","linux","ps5-emulator","debugger-frontend"],"confidence":0.7,"fix_status":"available","needs_auth":"no","worst_case":"Attacker runs local binaries with victim's privileges via browser visit.","analyst_note":"","how_to_check":"- Check the SharpEmu version: `0.0.3-release.3` and earlier are affected.\n- Check whether `tools/SharpEmu.DebuggerFrontend/debugger_frontend.py` exists and is running on 127.0.0.1:8765.\n- The sources say the tooling is not included in release archives, so check whether the repository source was run.","plain_action":"","needs_analyst":false,"not_affected_if":["release-archives-only","debugger-frontend-not-running"],"who_is_affected":"Only people who run the repository's debugger frontend tooling alongside SharpEmu are exposed. The sources say this tooling is not in the release archives, so people using only the release builds are not affected. Chromium may block some of these requests unless Local Network Access is granted, but the sources say this restriction is not applied consistently.","user_interaction":"yes","needs_special_setup":"yes","severity_if_unknown":"unknown"},"cost_usd":0.001144,"input_tokens":4631,"output_tokens":1362,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-2026':11A,14A '-92704':12A,15A '/api/command':178C,247C '/api/connect':180C,262C '/api/launch':177C,210C '0.0.3':85C,314C '127.0.0.1':37B,116C '5':77C '8765':38B,117C 'accept':40B,148C,212C 'access':186C,293C 'addit':241C,300C 'also':147C,236C 'api':35B,114C,305C 'application/json':160C 'archiv':108C 'attach':286C 'attack':215C,274C,303C 'attacker-select':214C 'authent':119C 'binari':278C 'bodi':145C 'browser':56B,153C 'browser-simpl':152C 'chang':65B 'chromium':181C 'connect':71B,268C 'consist':204C 'content':155C 'continu':260C 'control':284C 'cross':42B,173C 'cross-origin':41B,172C 'csrf':121C 'cve':10A,13A 'debugg':2A,17B,29B,93C,250C 'debugger-frontend':16B 'deliveri':200C 'dns':297C 'earlier':88C 'ebootpath':245C 'emul':23B,62B,78C,287C 'emulatorpath':217C 'endpoint':211C,240C,248C,263C 'execut':60B,238C,275C 'exist':59B,223C,244C,277C 'experiment':75C 'expos':111C,249C 'fetch':137C 'file':224C,234C 'fix':311C 'frontend':3A,18B,30B,94C,110C 'function':146C 'handler':126C 'header':141C 'host':140C,229C,296C 'http':34B,113C 'includ':104C,252C 'initi':265C 'instead':157C 'interact':307C 'issu':309C 'json':144C,149C 'launch':8A,57B 'let':4A,272C,301C 'linux':19B,82C 'listen':169C 'local':184C,195C 'local-origin':194C 'loopback':168C 'make':52B 'malici':5A,49B,162C 'may':182C 'memori':64B,255C 'must':235C 'network':185C,291C 'open':68B 'oper':251C,270C 'origin':43B,133C,174C,193C,196C 'outbound':69B,266C 'page':7A,47B,50B,163C,189C,197C 'path':201C 'permiss':187C 'playstat':76C 'point':220C 'posix':231C 'post':125C 'privileg':283C 'process':63B,288C 'program':9A 'provid':92C 'ps5':22B 'ps5-emulator':21B 'public':192C 'reach':166C,290C 'read':143C,304C 'rebind':298C 'refer':134C 'regist':66B,258C 'releas':107C 'release.3':86C 'release.3-patch.1':315C 'repositori':28B,91C 'repository-provid':90C 'request':44B,175C 'requir':159C,183C,242C 'respons':306C 'restrict':208C 'run':31B,99C 'sec':136C 'sec-fetch-sit':135C 'select':216C 'send':171C 'sent':150C 'serv':190C 'servic':292C 'set':257C 'set-regist':256C 'sharpemu':1A,24B,26B,72C 'simpl':154C 'site':138C 'subject':205C 'system':232C 'tcp':70B,267C 'token':122C 'tool':95C,101C 'tools/sharpemu.debuggerfrontend/debugger_frontend.py':128C 'type':156C 'unauthent':33B 'valid':131C 'version':84C,313C 'victim':54B,227C,281C 'vulner':97C 'web':6A,46B 'window':25B,80C 'without':118C 'write':61B,254C 'write-memori':253C","nicknames":[],"mitigations":[],"who_affected":"Only people who run the repository's debugger frontend tooling alongside SharpEmu are exposed. The sources say this tooling is not in the release archives, so people using only the release builds are not affected. Chromium may block some of these requests unless Local Network Access is granted, but the sources say this restriction is not applied consistently.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"pkeys":[],"ptokens":[],"labels":["debuggerfrontend","high","linux","other","ps5emulator","sharpemu","windows"],"campaign_type":null,"first_public_at":"2026-09-16T21:46:23+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-92704","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-92704","severity":null,"published_at":"2026-11-04T16:17:55+00:00","modified_at":"2026-11-04T16:17:55+00:00","first_seen_at":"2026-11-04T16:28:15+00:00","fetched_at":"2026-11-04T16:28:15+00:00","note":null}],"documents":[{"id":68516,"url":"https://github.com/sharpemu/sharpemu/commit/3831f3c407c547a5e58f353649b2c556d785c463","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":68517,"url":"https://github.com/sharpemu/sharpemu/releases/tag/v0.0.3-release.3-patch.1","title":"Release notes: github.com","kind":"release","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Release notes: github.com"},{"id":68518,"url":"https://github.com/sharpemu/sharpemu/security/advisories/GHSA-fr3v-rvqp-8fx3","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-09-16T21:46:23+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"}],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}