{"id":"CVE-2026-115683","aliases":["DEBIAN-CVE-2026-115683","EUVD-2026-113941","GHSA-rgq4-6fxx-v9rg","UBUNTU-CVE-2026-115683","openSUSE-SU-2026:12379-1"],"status":"published","title":"epiphany: TLS certificate warning bypass via race in tlsErrorPage message handler","description":"A race condition in Epiphany allows a malicious website to bypass the TLS/SSL certificate warning page.\n\nEpiphany registers the main-world script message handler \"tlsErrorPage\" so its internal TLS error page can implement \"Accept Risk and Proceed\". The handler was registered immediately before loading the error page, leaving a brief window where the previously loaded untrusted origin could still call window.webkit.messageHandlers.tlsErrorPage.postMessage(...). The only authorization check compares a numeric WebKit page id that increments predictably; an attacker can burst-guess ids and approve a certificate exception with no user click.\n\nIf a victim visits malicious site A that redirects to site B with an invalid certificate, site A can, for a few milliseconds, disable TLS certificate error warnings for host B until Epiphany is restarted, enabling man-in-the-middle or site spoofing for that host.\n\nUpstream report: https://gitlab.gnome.org/GNOME/epiphany/-/work_items/2978\nProof of concept: https://beford.net/poc/ssl_poc.html\nFix: https://gitlab.gnome.org/GNOME/epiphany/-/merge_requests/2245 (register handlers on LOAD_COMMITTED). No fixed release tagged yet; reporter and maintainer describe all current versions as affected. Maintainer notes the risky registration timing dates to commit 1da1caed (Epiphany 45.x era); before that the handlers were always registered and similarly reachable from web content.","severity":{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.0022,"percentile":0.12715,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-367"],"published":"2026-10-30T13:33:02Z","modified":"2026-11-05T11:45:50Z","fixes":[{"ecosystem":"Debian:14","package":"epiphany-browser","fixed_in":["51.2-1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Debian:12","package":"epiphany-browser","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["43.1-1","44.0-1","44.1-1","44.2-1","44.3-1","44.5-1","44.5-2","44.6-1","44~rc-1","45.0-1","45.1-1","45.2-1","45~beta-1","46.0-1","46.0-2","46.1-1","46.2-1","46.3-1","46~alpha-1","46~beta-1","47.0-1","47.2-1","47~beta-1","47~rc-1","48.0-1","48.1-1","48.2-1","48.3-1","48.3-2","48.5-1","48.5-2","48.5-3","48~beta-1","48~rc-1","48~rc-2","49.0-1","49.1-1","49.2-1","49.2-2","49.2-3","50.3-1","50.3-2","50.4-1","50.4-2","51.0-1","51.1-1","51.2-1","51~rc-1"]},{"source":"osv","ecosystem":"Debian:13","package":"epiphany-browser","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["48.3-2","48.5-0+deb13u1","48.5-1","48.5-2","48.5-3","49.0-1","49.1-1","49.2-1","49.2-2","49.2-3","50.3-1","50.3-2","50.4-1","50.4-2","51.0-1","51.1-1","51.2-1","51~rc-1"]},{"source":"osv","ecosystem":"Debian:14","package":"epiphany-browser","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"51.2-1"}]}],"versions":["48.3-2","48.5-1","48.5-2","48.5-3","49.0-1","49.1-1","49.2-1","49.2-2","49.2-3","50.3-1","50.3-2","50.4-1","50.4-2","51.0-1","51.1-1","51~rc-1"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"epiphany-browser","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.16.3-1ubuntu1","3.18.0-1ubuntu2","3.18.1-1ubuntu1","3.18.3-0ubuntu1","3.18.5-0ubuntu1","3.18.5-0ubuntu1.1","3.18.10-0ubuntu1","3.18.11-0ubuntu1"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"epiphany-browser","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.26.1-1ubuntu1","3.26.1-1ubuntu2","3.26.1-1ubuntu4","3.26.5.1-1ubuntu1","3.27.90-1ubuntu1","3.28.0.1-1ubuntu1","3.28.1-1ubuntu1","3.28.5-0ubuntu1","3.28.6-0ubuntu1"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"epiphany-browser","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.34.1-1","3.34.1-1build1","3.36.0-1","3.36.1-1","3.36.2-0ubuntu1","3.36.3-0ubuntu1","3.36.4-0ubuntu1","3.36.4-0ubuntu2"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"epiphany-browser","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["41.0-1","41.0-2","41.2-1","41.3-1","42~beta-1","42.0-1","42.1-1","42.1-1ubuntu1","42.4-0ubuntu1"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"epiphany-browser","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["45.0-1","45.1-1","46~alpha-1","46~beta-1","46.0-1","46.0-2build1","46.5-0ubuntu1"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"epiphany-browser","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["49.2-3ubuntu1","50.4-1","50.4-2"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"epiphany-browser","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["48.5-3","49.1-1","49.2-1","49.2-2","49.2-3","49.2-3ubuntu1"]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"epiphany","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"51.2-1.1"}]}],"bundled":3}],"products":[{"vendor":"gnome","product":"epiphany"}],"references":[{"url":"https://access.redhat.com/security/cve/CVE-2026-115683","tags":["vdb-entry","x_refsource_REDHAT","advisory"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2560012","tags":["issue-tracking","x_refsource_REDHAT","report"]},{"url":"https://gitlab.gnome.org/GNOME/epiphany/-/work_items/2978","tags":["exploit","web","report"]},{"url":"https://gitlab.gnome.org/GNOME/epiphany/-/merge_requests/2245","tags":["fix"]},{"url":"https://beford.net/poc/ssl_poc.html","tags":["web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-115683","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-rgq4-6fxx-v9rg"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/115xxx/CVE-2026-115683.json","tags":["advisory"]},{"url":"https://gitlab.gnome.org/GNOME/epiphany","tags":["package"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-115683","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-115683","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-115683","tags":["report"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2026-115683","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-118598","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-118599","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2026-115683","title":"epiphany: TLS certificate warning bypass via race in tlsErrorPage message handler","description":"A race condition in Epiphany allows a malicious website to bypass the TLS/SSL certificate warning page.\n\nEpiphany registers the main-world script message handler \"tlsErrorPage\" so its internal TLS error page can implement \"Accept Risk and Proceed\". The handler was registered immediately before loading the error page, leaving a brief window where the previously loaded untrusted origin could still call window.webkit.messageHandlers.tlsErrorPage.postMessage(...). The only authorization check compares a numeric WebKit page id that increments predictably; an attacker can burst-guess ids and approve a certificate exception with no user click.\n\nIf a victim visits malicious site A that redirects to site B with an invalid certificate, site A can, for a few milliseconds, disable TLS certificate error warnings for host B until Epiphany is restarted, enabling man-in-the-middle or site spoofing for that host.\n\nUpstream report: https://gitlab.gnome.org/GNOME/epiphany/-/work_items/2978\nProof of concept: https://beford.net/poc/ssl_poc.html\nFix: https://gitlab.gnome.org/GNOME/epiphany/-/merge_requests/2245 (register handlers on LOAD_COMMITTED). No fixed release tagged yet; reporter and maintainer describe all current versions as affected. Maintainer notes the risky registration timing dates to commit 1da1caed (Epiphany 45.x era); before that the handlers were always registered and similarly reachable from web content.","status":"published","published":"2026-10-30T13:33:02.733Z","modified":"2026-11-02T11:33:33.9Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-367"],"updated_at":"2026-11-02T18:00:08.034842Z"}],"euvd":[{"id":"EUVD-2026-113941","description":"A race condition in Epiphany allows a malicious website to bypass the TLS/SSL certificate warning page.\n\nEpiphany registers the main-world script message handler \"tlsErrorPage\" so its internal TLS error page can implement \"Accept Risk and Proceed\". The handler was registered immediately before loading the error page, leaving a brief window where the previously loaded untrusted origin could still call window.webkit.messageHandlers.tlsErrorPage.postMessage(...). The only authorization check compares a numeric WebKit page id that increments predictably; an attacker can burst-guess ids and approve a certificate exception with no user click.\n\nIf a victim visits malicious site A that redirects to site B with an invalid certificate, site A can, for a few milliseconds, disable TLS certificate error warnings for host B until Epiphany is restarted, enabling man-in-the-middle or site spoofing for that host.\n\nUpstream report: https://gitlab.gnome.org/GNOME/epiphany/-/work_items/2978\nProof of concept: https://beford.net/poc/ssl_poc.html\nFix: https://gitlab.gnome.org/GNOME/epiphany/-/merge_requests/2245 (register handlers on LOAD_COMMITTED). No fixed release tagged yet; reporter and maintainer describe all current versions as affected. Maintainer notes the risky registration timing dates to commit 1da1caed (Epiphany 45.x era); before that the handlers were always registered and similarly reachable from web content.","status":"published","published":"2026-10-30T13:33:02Z","modified":"2026-11-02T11:33:33Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"medium"}],"updated_at":"2026-11-02T16:58:45.728338Z"}],"ghsa":[{"id":"GHSA-rgq4-6fxx-v9rg","title":"A race condition in Epiphany allows a malicious website to bypass the TLS/SSL certificate warning...","description":"A race condition in Epiphany allows a malicious website to bypass the TLS/SSL certificate warning page.\n\nEpiphany registers the main-world script message handler \"tlsErrorPage\" so its internal TLS error page can implement \"Accept Risk and Proceed\". The handler was registered immediately before loading the error page, leaving a brief window where the previously loaded untrusted origin could still call window.webkit.messageHandlers.tlsErrorPage.postMessage(...). The only authorization check compares a numeric WebKit page id that increments predictably; an attacker can burst-guess ids and approve a certificate exception with no user click.\n\nIf a victim visits malicious site A that redirects to site B with an invalid certificate, site A can, for a few milliseconds, disable TLS certificate error warnings for host B until Epiphany is restarted, enabling man-in-the-middle or site spoofing for that host.\n\nUpstream report: https://gitlab.gnome.org/GNOME/epiphany/-/work_items/2978\nProof of concept: https://beford.net/poc/ssl_poc.html\nFix: https://gitlab.gnome.org/GNOME/epiphany/-/merge_requests/2245 (register handlers on LOAD_COMMITTED). No fixed release tagged yet; reporter and maintainer describe all current versions as affected. Maintainer notes the risky registration timing dates to commit 1da1caed (Epiphany 45.x era); before that the handlers were always registered and similarly reachable from web content.","status":"published","published":"2026-10-30T15:34:32Z","modified":"2026-10-30T15:34:36Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"medium"}],"cwes":["CWE-367"],"updated_at":"2026-11-02T15:14:49.690154Z"}],"nvd":[{"id":"CVE-2026-115683","description":"A race condition in Epiphany allows a malicious website to bypass the TLS/SSL certificate warning page.\n\nEpiphany registers the main-world script message handler \"tlsErrorPage\" so its internal TLS error page can implement \"Accept Risk and Proceed\". The handler was registered immediately before loading the error page, leaving a brief window where the previously loaded untrusted origin could still call window.webkit.messageHandlers.tlsErrorPage.postMessage(...). The only authorization check compares a numeric WebKit page id that increments predictably; an attacker can burst-guess ids and approve a certificate exception with no user click.\n\nIf a victim visits malicious site A that redirects to site B with an invalid certificate, site A can, for a few milliseconds, disable TLS certificate error warnings for host B until Epiphany is restarted, enabling man-in-the-middle or site spoofing for that host.\n\nUpstream report: https://gitlab.gnome.org/GNOME/epiphany/-/work_items/2978\nProof of concept: https://beford.net/poc/ssl_poc.html\nFix: https://gitlab.gnome.org/GNOME/epiphany/-/merge_requests/2245 (register handlers on LOAD_COMMITTED). No fixed release tagged yet; reporter and maintainer describe all current versions as affected. Maintainer notes the risky registration timing dates to commit 1da1caed (Epiphany 45.x era); before that the handlers were always registered and similarly reachable from web content.","status":"published","published":"2026-10-30T14:16:39.373Z","modified":"2026-11-02T10:17:10.91Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"medium","assessor":"secondary"}],"cwes":["CWE-367"],"updated_at":"2026-11-02T18:19:33.2615Z"}],"osv":[{"id":"CVE-2026-115683","title":"epiphany: TLS certificate warning bypass via race in tlsErrorPage message handler","description":"A race condition in Epiphany allows a malicious website to bypass the TLS/SSL certificate warning page.\n\nEpiphany registers the main-world script message handler \"tlsErrorPage\" so its internal TLS error page can implement \"Accept Risk and Proceed\". The handler was registered immediately before loading the error page, leaving a brief window where the previously loaded untrusted origin could still call window.webkit.messageHandlers.tlsErrorPage.postMessage(...). The only authorization check compares a numeric WebKit page id that increments predictably; an attacker can burst-guess ids and approve a certificate exception with no user click.\n\nIf a victim visits malicious site A that redirects to site B with an invalid certificate, site A can, for a few milliseconds, disable TLS certificate error warnings for host B until Epiphany is restarted, enabling man-in-the-middle or site spoofing for that host.\n\nUpstream report: https://gitlab.gnome.org/GNOME/epiphany/-/work_items/2978\nProof of concept: https://beford.net/poc/ssl_poc.html\nFix: https://gitlab.gnome.org/GNOME/epiphany/-/merge_requests/2245 (register handlers on LOAD_COMMITTED). No fixed release tagged yet; reporter and maintainer describe all current versions as affected. Maintainer notes the risky registration timing dates to commit 1da1caed (Epiphany 45.x era); before that the handlers were always registered and similarly reachable from web content.","status":"published","published":"2026-10-30T13:33:02.733Z","modified":"2026-11-04T02:30:17.939271848Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"medium"}],"cwes":["CWE-367"],"updated_at":"2026-11-04T02:55:01.518827Z"},{"id":"DEBIAN-CVE-2026-115683","description":"A race condition in Epiphany allows a malicious website to bypass the TLS/SSL certificate warning page.  Epiphany registers the main-world script message handler \"tlsErrorPage\" so its internal TLS error page can implement \"Accept Risk and Proceed\". The handler was registered immediately before loading the error page, leaving a brief window where the previously loaded untrusted origin could still call window.webkit.messageHandlers.tlsErrorPage.postMessage(...). The only authorization check compares a numeric WebKit page id that increments predictably; an attacker can burst-guess ids and approve a certificate exception with no user click.  If a victim visits malicious site A that redirects to site B with an invalid certificate, site A can, for a few milliseconds, disable TLS certificate error warnings for host B until Epiphany is restarted, enabling man-in-the-middle or site spoofing for that host.  Upstream report: https://gitlab.gnome.org/GNOME/epiphany/-/work_items/2978 Proof of concept: https://beford.net/poc/ssl_poc.html Fix: https://gitlab.gnome.org/GNOME/epiphany/-/merge_requests/2245 (register handlers on LOAD_COMMITTED). No fixed release tagged yet; reporter and maintainer describe all current versions as affected. Maintainer notes the risky registration timing dates to commit 1da1caed (Epiphany 45.x era); before that the handlers were always registered and similarly reachable from web content.","status":"published","published":"2026-10-30T14:16:39.373Z","modified":"2026-11-04T06:00:06.59253481Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"medium"}],"updated_at":"2026-11-04T06:29:21.687524Z"},{"id":"UBUNTU-CVE-2026-115683","description":"A race condition in Epiphany allows a malicious website to bypass the TLS/SSL certificate warning page. Epiphany registers the main-world script message handler \"tlsErrorPage\" so its internal TLS error page can implement \"Accept Risk and Proceed\". The handler was registered immediately before loading the error page, leaving a brief window where the previously loaded untrusted origin could still call window.webkit.messageHandlers.tlsErrorPage.postMessage(...). The only authorization check compares a numeric WebKit page id that increments predictably; an attacker can burst-guess ids and approve a certificate exception with no user click. If a victim visits malicious site A that redirects to site B with an invalid certificate, site A can, for a few milliseconds, disable TLS certificate error warnings for host B until Epiphany is restarted, enabling man-in-the-middle or site spoofing for that host. Upstream report: https://gitlab.gnome.org/GNOME/epiphany/-/work_items/2978 Proof of concept: https://beford.net/poc/ssl_poc.html Fix: https://gitlab.gnome.org/GNOME/epiphany/-/merge_requests/2245 (register handlers on LOAD_COMMITTED). No fixed release tagged yet; reporter and maintainer describe all current versions as affected. Maintainer notes the risky registration timing dates to commit 1da1caed (Epiphany 45.x era); before that the handlers were always registered and similarly reachable from web content.","status":"published","published":"2026-10-30T14:16:00Z","modified":"2026-11-05T11:45:50.437764627Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"medium"}],"updated_at":"2026-11-05T13:30:15.321876Z"},{"id":"openSUSE-SU-2026:12379-1","title":"epiphany-51.2-1.1 on GA media","description":"These are all security issues fixed in the epiphany-51.2-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-11-01T00:00:00Z","modified":"2026-11-02T12:15:05.681100362Z","updated_at":"2026-11-02T16:58:41.463445Z"}]}}
