---
id: "CVE-2026-115683"
kind: "vulnerability"
aliases: ["CVE-2026-115683"]
title: "Epiphany browser: race lets a malicious site skip certificate warnings"
severity: "medium"
cvss: 6.8
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["epiphany", "gnome", "linux-desktop", "package"]
not_affected_if: ["other-browser"]
published_at: "2026-10-30T14:16:39+00:00"
first_seen_at: "2026-10-30T14:30:53+00:00"
updated_at: "2026-10-30T14:32:50+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-115683", "first_seen_at": "2026-10-30T14:30:53+00:00"}]
---

# Epiphany browser: race lets a malicious site skip certificate warnings

Epiphany, the GNOME web browser, has a race condition that lets a malicious page approve a certificate exception for another host without a user click. An attacker who gets a victim to a malicious site can then perform man-in-the-middle attacks or spoof the target site until Epiphany restarts.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the installed Epiphany version with `epiphany --version`, since the sources say all current versions are affected.
- Confirm whether the browser is in use on the machine (flatpak or distro package).

## Fix

- Fixed release: unknown; the sources say no fixed release is tagged yet.
- Upstream fix exists as a merge request that registers handlers on LOAD_COMMITTED, but no released version is stated.

## Timeline

- 2026-10-30T14:30:53+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-115683

## From the sources

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.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
