{"id":"CVE-2026-123788","kind":"vulnerability","aliases":["CVE-2026-123788"],"related":[],"title":"grok2api: STT billing voice handler flaw lets remote requests bypass workflow","description":"A security vulnerability has been detected in chenyme grok2api up to 3.1.6. The impacted element is an unknown function of the file backend/internal/transport/http/inference/voice_ws_handler.go of the component STT Billing. The manipulation leads to enforcement of behavioral workflow. The attack may be initiated remotely. Upgrading to version 3.1.7 is sufficient to resolve this issue. The identifier of the patch is 7ad0f791f0a9eb5a0ddfe38ac4dfcef01e19a6d4. Upgrading the affected component is recommended.","summary":"grok2api is a proxy that exposes Grok models through an API, and its speech-to-text billing component has a flaw in its voice WebSocket handler. A remote attacker may be able to manipulate the billing workflow to bypass its enforcement.","severity":"medium","cvss":5.3,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["ai-proxy","ai-tooling","grok2api","self-hosted","speech-to-text"],"not_affected_if":["version-3.1.7-or-later"],"how_to_check":"- Check the grok2api version in your deployment; versions up to `3.1.6` are listed as affected.\n- Review `backend/internal/transport/http/inference/voice_ws_handler.go` if you run a patched fork.","fix":"- Upgrade grok2api to `3.1.7` (patch commit 7ad0f791f0a9eb5a0ddfe38ac4dfcef01e19a6d4).","status":"open","published_at":"2026-11-06T22:17:50+00:00","first_seen_at":"2026-11-06T22:44:32+00:00","triaged_at":"2026-11-06T22:44:51+00:00","updated_at":"2026-11-06T22:44:51+00:00","category":"ai-tooling","confidence":0.6,"triage":{"at":"2026-11-06T22:44:51Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade grok2api to `3.1.7` (patch commit 7ad0f791f0a9eb5a0ddfe38ac4dfcef01e19a6d4).","reach":"internet","title":"grok2api: STT billing voice handler flaw lets remote requests bypass workflow","impact":"low","summary":"grok2api is a proxy that exposes Grok models through an API, and its speech-to-text billing component has a flaw in its voice WebSocket handler. A remote attacker may be able to manipulate the billing workflow to bypass its enforcement.","audience":"businesses","category":"ai-tooling","nicknames":[],"who_cares":["grok2api","self-hosted","ai-proxy","speech-to-text"],"confidence":0.6,"fix_status":"available","needs_auth":"unknown","worst_case":"attacker bypasses speech billing enforcement remotely","analyst_note":"Confirm whether the billing bypass requires authentication and whether voice WebSocket is enabled by default, using the linked patch and release notes.","how_to_check":"- Check the grok2api version in your deployment; versions up to `3.1.6` are listed as affected.\n- Review `backend/internal/transport/http/inference/voice_ws_handler.go` if you run a patched fork.\n- unknown for other checks","plain_action":"","needs_analyst":true,"not_affected_if":["version-3.1.7-or-later"],"who_is_affected":"Teams that self-host grok2api up to 3.1.6 and expose its speech-to-text voice endpoint to remote clients. Deployments that do not run the voice WebSocket feature or that use a managed service are less likely to be exposed; the sources do not say more.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"unknown"},"cost_usd":0.000744,"input_tokens":4335,"output_tokens":622,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-123788':14A,17A '-2026':13A,16A '3.1.6':85C '3.1.7':119C '7ad0f791f0a9eb5a0ddfe38ac4dfcef01e19a6d4':132C 'abl':64B 'affect':135C 'ai':19B,22B 'ai-proxi':18B 'ai-tool':21B 'api':42B 'attack':61B,111C 'backend/internal/transport/http/inference/voice_ws_handler.go':96C 'behavior':108C 'bill':3A,49B,68B,101C 'bypass':10A,71B 'chenym':81C 'compon':50B,99C,136C 'cve':12A,15A 'detect':79C 'element':88C 'enforc':73B,106C 'expos':37B 'file':95C 'flaw':6A,53B 'function':92C 'grok':38B 'grok2api':1A,24B,32B,82C 'handler':5A,58B 'host':27B 'identifi':127C 'impact':87C 'initi':114C 'issu':125C 'lead':104C 'let':7A 'manipul':66B,103C 'may':62B,112C 'model':39B 'patch':130C 'proxi':20B,35B 'recommend':138C 'remot':8A,60B,115C 'request':9A 'resolv':123C 'secur':75C 'self':26B 'self-host':25B 'speech':29B,46B 'speech-to-text':28B,45B 'stt':2A,100C 'suffici':121C 'text':31B,48B 'tool':23B 'unknown':91C 'upgrad':116C,133C 'version':118C 'voic':4A,56B 'vulner':76C 'websocket':57B 'workflow':11A,69B,109C","nicknames":[],"mitigations":[],"who_affected":"Teams that self-host grok2api up to 3.1.6 and expose its speech-to-text voice endpoint to remote clients. Deployments that do not run the voice WebSocket feature or that use a managed service are less likely to be exposed; the sources do not say more.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["aiproxy","aitooling","grok2api","medium","selfhosted","speechtotext"],"campaign_type":null,"search_a":"'-123788':14A,17A '-2026':13A,16A 'bill':3A 'bypass':10A 'cve':12A,15A 'flaw':6A 'grok2api':1A 'handler':5A 'let':7A 'remot':8A 'request':9A 'stt':2A 'voic':4A 'workflow':11A","search_b":"'abl':64B 'ai':19B,22B 'ai-proxi':18B 'ai-tool':21B 'api':42B 'attack':61B 'bill':49B,68B 'bypass':71B 'compon':50B 'enforc':73B 'expos':37B 'flaw':53B 'grok':38B 'grok2api':24B,32B 'handler':58B 'host':27B 'manipul':66B 'may':62B 'model':39B 'proxi':20B,35B 'remot':60B 'self':26B 'self-host':25B 'speech':29B,46B 'speech-to-text':28B,45B 'text':31B,48B 'tool':23B 'voic':56B 'websocket':57B 'workflow':69B","search_c":"'3.1.6':85C '3.1.7':119C '7ad0f791f0a9eb5a0ddfe38ac4dfcef01e19a6d4':132C 'affect':135C 'attack':111C 'backend/internal/transport/http/inference/voice_ws_handler.go':96C 'behavior':108C 'bill':101C 'chenym':81C 'compon':99C,136C 'detect':79C 'element':88C 'enforc':106C 'file':95C 'function':92C 'grok2api':82C 'identifi':127C 'impact':87C 'initi':114C 'issu':125C 'lead':104C 'manipul':103C 'may':112C 'patch':130C 'recommend':138C 'remot':115C 'resolv':123C 'secur':75C 'stt':100C 'suffici':121C 'unknown':91C 'upgrad':116C,133C 'version':118C 'vulner':76C 'workflow':109C","first_public_at":"2026-11-06T22:17:50+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"cna@vuldb.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-123788","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-123788","severity":null,"published_at":"2026-11-06T22:17:50+00:00","modified_at":"2026-11-06T22:17:50+00:00","first_seen_at":"2026-11-06T22:44:32+00:00","fetched_at":"2026-11-06T22:44:32+00:00","note":null}],"documents":[{"id":88842,"url":"https://github.com/chenyme/grok2api/commit/7ad0f791f0a9eb5a0ddfe38ac4dfcef01e19a6d4","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":88843,"url":"https://github.com/chenyme/grok2api/releases/tag/v3.1.7","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"}],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}