# CVE-2026-118598: epiphany: clipboard/website-data permission prompt incorrectly grants camera and microphone access

Status: published. Published: 2026-10-31. Updated: 2026-11-06.

A logic error in Epiphany's site permission handling can cause camera and microphone access to be granted when the user only approves a different permission.

In src/ephy-window.c, set_permission() stores the user's Allow/Deny choice after a WebKit permission dialog. Types CLIPBOARD and WEBSITE_DATA_ACCESS are not stored by ephy_permission_is_stored_by_permissions_manager(), so control fell into an else-if that was written as:

  } else if (EPHY_PERMISSION_TYPE_ACCESS_WEBCAM_AND_MICROPHONE) {

Because that expression is a non-zero enum constant, the branch always ran for those types and wrote EPHY_PERMISSION_PERMIT for both ACCESS_WEBCAM and ACCESS_MICROPHONE for the site origin. The user only saw a Clipboard or Website Data Access dialog.

A malicious site that obtains approval for clipboard or third-party storage access can afterwards use getUserMedia without a further camera/microphone prompt, exposing audiovisual confidentiality.

Requirements: the victim must visit a malicious page and click Allow on a clipboard or website-data-access prompt.

Affected: Epiphany >= 45.0 (bug present at least through 51.x).
Fixed: https://gitlab.gnome.org/GNOME/epiphany/-/merge_requests/2249 (commit 480c3648).
Upstream: https://gitlab.gnome.org/GNOME/epiphany/-/work_items/2976
Reporter acknowledgment: Fernando Munoz

## Remediation

- workaround: Do not approve Clipboard or Website Data Access prompts on untrusted sites. Review and revoke camera and microphone site permissions in Epiphany (site permissions / privacy settings) for any origin where those prompts were accepted. Prefer browsing untrusted content with media devices disconnected or disabled at the OS level. Upgrade to a fixed Epiphany build containing MR !2249 / commit 480c3648 when available for your stream. (source: CNA: fedora)

## Affected products and versions

- GNOME / Epiphany (epiphany): ≥ 45.0; < * (affected, semver). Source: CNA: fedora

## Severity and prioritization

- CVSS 3.1: 6.5 (medium); CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N; source: CNA: fedora

- CVSS 3.1: 6.5 (medium); CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N; source: NVD: patrick@puiterwijk.org

- CISA KEV: No listing in collected sources

- EPSS: 0.47% as of 2026-11-05; percentile 40.73%

- SSVC: exploitation none; automatable no; technical impact partial; source ADP: CISA-ADP

- Weaknesses: CWE-863

## Exploit evidence

No exploit evidence in collected sources. This is not proof of no exploitation.

## References

- https://access.redhat.com/security/cve/CVE-2026-118598 (CNA: fedora; vdb-entry, x_refsource_REDHAT)

- https://bugzilla.redhat.com/show_bug.cgi?id=2562956 (CNA: fedora; issue-tracking, x_refsource_REDHAT)

- https://gitlab.gnome.org/GNOME/epiphany/-/work_items/2976 (CNA: fedora)

- https://gitlab.gnome.org/GNOME/epiphany/-/merge_requests/2249 (CNA: fedora)

- https://access.redhat.com/security/cve/CVE-2026-118598 (patrick@puiterwijk.org)

- https://bugzilla.redhat.com/show_bug.cgi?id=2562956 (patrick@puiterwijk.org)

- https://gitlab.gnome.org/GNOME/epiphany/-/merge_requests/2249 (patrick@puiterwijk.org)

- https://gitlab.gnome.org/GNOME/epiphany/-/work_items/2976 (patrick@puiterwijk.org)

## Provenance

- CNA: fedora: https://www.cve.org/CVERecord?id=CVE-2026-118598; retrieved 2026-11-06; source updated 2026-11-06

- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-118598; retrieved 2026-11-03; source updated 2026-11-02

- FIRST EPSS: https://api.first.org/data/v1/epss?cve=CVE-2026-118598; retrieved 2026-11-06; source updated Not reported

Revision: 270a2f23afcd6e89ed0e91b71805ae7b36e01d3ed8cd2f99e8e41fef77cb53b0

Canonical: https://y2.dev/cve/CVE-2026-118598

## Agent and API access

Public CVE pages, Markdown, and JSON are free to read without an account or API key.

- Public catalog: https://y2.dev/cve/index.json. Follow nextCursor with the same search, filters, sort, and limit (1–100). A null cursor marks the end.

- WebMCP: search_cve_disclosures, get_cve_disclosure, get_cve_page_markdown, get_y2_cve_access. Available in compatible browsers.

- Cyber API: https://api.y2.dev/api/v2/cyber/cves and https://api.y2.dev/api/v2/cyber/cves/{cveId}.

- Y2 Pro or Elite: create a workspace API key with the intel:cyber scope and send Authorization: Bearer <Y2_API_KEY>. Setup: https://y2.dev/docs/api/create-key.

- x402: Pay per request without an account or API key. Omit Authorization, read the HTTP 402 PAYMENT-REQUIRED challenge, validate its current requirements, and retry with PAYMENT-SIGNATURE through an authorized payment client. These browser tools never make payments. Guide: https://y2.dev/docs/api/x402.

- OpenAPI: https://y2.dev/api/openapi.yaml. Agent access metadata: https://y2.dev/cve/agent.json.

Collected public records only. Check source status for coverage and freshness.