{"id":"CVE-2026-54144","kind":"vulnerability","aliases":["CVE-2026-54144"],"related":[],"title":"OpenHuman: web page can capture the macOS desktop without a user gesture","description":"OpenHuman is an open-source agent harness available as a desktop application and Rust library. Before 0.56.0 on macOS, the runtime injected into a supported remote account webview such as Google Meet allows page JavaScript to call getDisplayMedia without a live user gesture. Instead of rejecting the request, the shim falls through to native Chromium capture behavior, and the embedded CEF environment can auto-select the primary display because it lacks the normal desktop-media picker. If OpenHuman already has macOS Screen Recording permission and an attacker obtains JavaScript execution in an allowed embedded origin, the attacker can obtain a real desktop capture stream without a new user gesture. The stream can expose chats, documents, source code, email, meeting content, credentials, one-time codes, and other visible desktop information. The separate direct screen_share_begin_session IPC path failing origin validation does not prevent exploitation through getDisplayMedia. This issue is fixed in version 0.56.0.","summary":"OpenHuman's embedded browser shim let page JavaScript call getDisplayMedia without a user click, and the embedded Chromium then auto-selected the primary display. An attacker who runs JavaScript in an allowed embedded origin, such as Google Meet, can get a live desktop capture stream showing chats, documents, code, email and one-time codes.","severity":"medium","cvss":6.1,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["agent-harness","desktop","macos","openhuman","other"],"not_affected_if":["no-screen-recording-permission","non-macos","version-0.56.0-or-later"],"how_to_check":"- Check the installed OpenHuman version in the app's About screen or package metadata; affected builds are below `0.56.0`.\n- On macOS, check System Settings > Privacy & Security > Screen Recording to see whether OpenHuman has permission.","fix":"- OpenHuman: upgrade to `0.56.0` or later.","status":"open","published_at":"2026-11-05T17:18:19+00:00","first_seen_at":"2026-11-05T17:40:04+00:00","triaged_at":"2026-11-05T17:42:34+00:00","updated_at":"2026-11-05T17:42:34+00:00","category":"other","confidence":0.7,"triage":{"at":"2026-11-05T17:42:34Z","model":"claude-haiku-5-5","output":{"fix":"- OpenHuman: upgrade to `0.56.0` or later.","reach":"internet","title":"OpenHuman: web page can capture the macOS desktop without a user gesture","impact":"high","summary":"OpenHuman's embedded browser shim let page JavaScript call getDisplayMedia without a user click, and the embedded Chromium then auto-selected the primary display. An attacker who runs JavaScript in an allowed embedded origin, such as Google Meet, can get a live desktop capture stream showing chats, documents, code, email and one-time codes.","audience":"businesses","category":"other","nicknames":[],"who_cares":["openhuman","macos","desktop","agent-harness"],"confidence":0.7,"fix_status":"available","needs_auth":"no","worst_case":"Attacker reads live desktop screen contents, including credentials and one-time codes","analyst_note":"","how_to_check":"- Check the installed OpenHuman version in the app's About screen or package metadata; affected builds are below `0.56.0`.\n- On macOS, check System Settings > Privacy & Security > Screen Recording to see whether OpenHuman has permission.\n- unknown for other checks; the sources do not say.","plain_action":"","needs_analyst":false,"not_affected_if":["no-screen-recording-permission","non-macos","version-0.56.0-or-later"],"who_is_affected":"Only macOS installs of OpenHuman before `0.56.0` that have Screen Recording permission granted are exposed. The attack needs script execution inside one of the app's allowed embedded web origins, such as Google Meet. Installs without Screen Recording permission, non-macOS installs, and the Rust library used without the desktop app are not described as affected.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.000761,"input_tokens":4482,"output_tokens":626,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-2026':14A,17A '-54144':15A,18A '0.56.0':98C,238C 'account':108C 'agent':20B,87C 'agent-har':19B 'allow':57B,114C,176C 'alreadi':162C 'applic':93C 'attack':51B,170C,180C 'auto':45B,146C 'auto-select':44B,145C 'avail':89C 'begin':219C 'behavior':138C 'browser':28B 'call':33B,118C 'captur':5A,69B,137C,186C 'cef':142C 'chat':72B,197C 'chromium':42B,136C 'click':38B 'code':74B,80B,200C,208C 'content':203C 'credenti':204C 'cve':13A,16A 'desktop':8A,22B,68B,92C,157C,185C,212C 'desktop-media':156C 'direct':216C 'display':49B,150C 'document':73B,198C 'email':75B,201C 'embed':27B,41B,58B,141C,177C 'environ':143C 'execut':173C 'exploit':229C 'expos':196C 'fail':223C 'fall':132C 'fix':235C 'gestur':12A,124C,192C 'get':65B 'getdisplaymedia':34B,119C,231C 'googl':62B,112C 'har':21B,88C 'inform':213C 'inject':103C 'instead':125C 'ipc':221C 'issu':233C 'javascript':32B,54B,116C,172C 'lack':153C 'let':30B 'librari':96C 'live':67B,122C 'maco':7A,23B,100C,164C 'media':158C 'meet':63B,113C,202C 'nativ':135C 'new':190C 'normal':155C 'obtain':171C,182C 'one':78B,206C 'one-tim':77B,205C 'open':85C 'open-sourc':84C 'openhuman':1A,24B,25B,81C,161C 'origin':59B,178C,224C 'page':3A,31B,115C 'path':222C 'permiss':167C 'picker':159C 'prevent':228C 'primari':48B,149C 'real':184C 'record':166C 'reject':127C 'remot':107C 'request':129C 'run':53B 'runtim':102C 'rust':95C 'screen':165C,217C 'select':46B,147C 'separ':215C 'session':220C 'share':218C 'shim':29B,131C 'show':71B 'sourc':86C,199C 'stream':70B,187C,194C 'support':106C 'time':79B,207C 'user':11A,37B,123C,191C 'valid':225C 'version':237C 'visibl':211C 'web':2A 'webview':109C 'without':9A,35B,120C,188C","nicknames":[],"mitigations":[],"who_affected":"Only macOS installs of OpenHuman before `0.56.0` that have Screen Recording permission granted are exposed. The attack needs script execution inside one of the app's allowed embedded web origins, such as Google Meet. Installs without Screen Recording permission, non-macOS installs, and the Rust library used without the desktop app are not described as affected.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["agentharness","desktop","macos","medium","openhuman","other"],"campaign_type":null,"first_public_at":"2026-10-09T17:35:47+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:N/A:N","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-54144","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-54144","severity":null,"published_at":"2026-11-05T17:18:19+00:00","modified_at":"2026-11-05T17:18:19+00:00","first_seen_at":"2026-11-05T17:40:04+00:00","fetched_at":"2026-11-05T17:40:04+00:00","note":null}],"documents":[{"id":78116,"url":"https://github.com/tinyhumansai/openhuman/commit/60050aa09a870f53ed7e4cd40ed41fd2860329e7","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":43894,"url":"https://github.com/tinyhumansai/openhuman/releases/tag/v0.56.0","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":78118,"url":"https://github.com/tinyhumansai/openhuman/security/advisories/GHSA-936r-hw6f-jjf2","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-10-09T17:35:47+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: 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"}