From e50f266f971f548ab0471b31223eacd32dab9550 Mon Sep 17 00:00:00 2001 From: David Osipov Date: Thu, 2 Jul 2026 14:26:38 +0400 Subject: [PATCH] Improve GHSA-vrv9-rjp4-w93c --- .../GHSA-vrv9-rjp4-w93c.json | 42 ++++++++++++++++--- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/advisories/unreviewed/2026/07/GHSA-vrv9-rjp4-w93c/GHSA-vrv9-rjp4-w93c.json b/advisories/unreviewed/2026/07/GHSA-vrv9-rjp4-w93c/GHSA-vrv9-rjp4-w93c.json index 0a279f88a2d47..24ee8abe914b5 100644 --- a/advisories/unreviewed/2026/07/GHSA-vrv9-rjp4-w93c/GHSA-vrv9-rjp4-w93c.json +++ b/advisories/unreviewed/2026/07/GHSA-vrv9-rjp4-w93c/GHSA-vrv9-rjp4-w93c.json @@ -1,24 +1,50 @@ { "schema_version": "1.4.0", "id": "GHSA-vrv9-rjp4-w93c", - "modified": "2026-07-02T00:31:42Z", + "modified": "2026-07-02T00:31:50Z", "published": "2026-07-02T00:31:42Z", "aliases": [ "CVE-2026-14440" ], - "details": "Description:\n\n\n\n\nTo issue and renew TLS certificates on behalf of customers, Cloudflare's Universal SSL feature automatically manages the CAA RRset for the customer's zone. This auto-managed RRset is permissive by design (e.g. 'issue \"letsencrypt.org\"' without parameters). On Universal SSL zones, Cloudflare's authoritative DNS serves this auto-managed RRset at query time, superseding any customer-configured CAA records on the zone. When a customer publishes a stricter CAA record using the RFC 8657 accounturi or validationmethods parameters, the Certificate Authority does not observe those parameters when evaluating the served RRset under RFC 8659. As a result, the RFC 8657 account-binding and validation-method-binding protections are not enforced end-to-end on Universal SSL zones. Successful exploitation could result in issuance of a browser-trusted TLS certificate to an attacker, enabling MITM against the affected domain.\n\n\n\n\nExploitation is non-trivial in practice: an attacker would need to hold an ACME account at one of the Certificate Authorities in the served CAA RRset and to simultaneously satisfy domain control validation across the multiple geographically distinct Network Perspectives the CA relies on for Multi-Perspective Issuance Corroboration. Cloudflare prefixes are anycast-announced from hundreds of locations globally, raising the bar against single-vantage-point BGP hijacks. Any resulting misissuance of a browser-trusted certificate is subject to Certificate Transparency logging required by major browsers, and would be visible to CT monitoring.\n\n\n\n\n\n\n\n\nMitigation: \n\n\n\nCustomers requiring strict RFC 8657 enforcement need to disable Universal SSL on the affected zone.\n\n\n\nUniversal SSL's automatic CAA management and customer-set RFC 8657 accounturi and validationmethods enforcement are mutually exclusive by the nature of the issue, so there is no in-product workaround that preserves both. \n\n\n\nCertificate Transparency monitoring is recommended for all customers as a general detection control.\n\n\n\n\n\n\n\n\nCredits:\n\n\n\nDavid Osipov (ORCID: https://orcid.org/0009-0005-2713-9242), independent researcher", + "summary": " CVE-2026-14440: Cloudflare Universal SSL automatically managed CAA RRset supersedes customer-configured CAA records", + "details": "**Description:**\n\n\n\n\nTo issue and renew TLS certificates on behalf of customers, Cloudflare's Universal SSL feature automatically manages the CAA RRset for the customer's zone. This auto-managed RRset is permissive by design (e.g. 'issue \"letsencrypt.org\"' without parameters). On Universal SSL zones, Cloudflare's authoritative DNS serves this auto-managed RRset at query time, superseding any customer-configured CAA records on the zone. When a customer publishes a stricter CAA record using the RFC 8657 accounturi or validationmethods parameters, the Certificate Authority does not observe those parameters when evaluating the served RRset under RFC 8659. As a result, the RFC 8657 account-binding and validation-method-binding protections are not enforced end-to-end on Universal SSL zones. Successful exploitation could result in issuance of a browser-trusted TLS certificate to an attacker, enabling MITM against the affected domain.\n\n\n\n\nExploitation is non-trivial in practice: an attacker would need to hold an ACME account at one of the Certificate Authorities in the served CAA RRset and to simultaneously satisfy domain control validation across the multiple geographically distinct Network Perspectives the CA relies on for Multi-Perspective Issuance Corroboration. Cloudflare prefixes are anycast-announced from hundreds of locations globally, raising the bar against single-vantage-point BGP hijacks. Any resulting misissuance of a browser-trusted certificate is subject to Certificate Transparency logging required by major browsers, and would be visible to CT monitoring.\n\n\n\n\n\n\n\n\n**Mitigation:** \n\n\n\nCustomers requiring strict RFC 8657 enforcement need to disable Universal SSL on the affected zone.\n\n\n\nUniversal SSL's automatic CAA management and customer-set RFC 8657 accounturi and validationmethods enforcement are mutually exclusive by the nature of the issue, so there is no in-product workaround that preserves both. \n\n\n\nCertificate Transparency monitoring is recommended for all customers as a general detection control.\n\n\n\n\n\n\n\n\n**Credits:**\n\n[David Osipov](https://github.com/DavidOsipov):\n* [ORCID: 0009-0005-2713-9242](https://orcid.org/0009-0005-2713-9242)\n* [ISNI: 0000 0005 1802 960X](https://isni.org/isni/000000051802960X)\n* [VIAF: 139173726847611590332](https://viaf.org/viaf/139173726847611590332)\n* [Wikidata: Q130604188](http://www.wikidata.org/entity/Q130604188)", "severity": [ { "type": "CVSS_V4", - "score": "CVSS:4.0/AV:A/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X" + "score": "CVSS:4.0/AV:A/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N" + } + ], + "affected": [ + { + "package": { + "ecosystem": "GitHub Actions", + "name": "" + }, + "ranges": [ + { + "type": "ECOSYSTEM", + "events": [ + { + "introduced": "0" + } + ] + } + ] } ], - "affected": [], "references": [ { "type": "ADVISORY", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-14440" }, + { + "type": "WEB", + "url": "https://david-osipov.vision/en/blog/cybersecurity/cloudflare-ssl-mitm-flaw-2026" + }, + { + "type": "WEB", + "url": "https://david-osipov.vision/ru/blog/cybersecurity/cloudflare-ssl-mitm-flaw-2026" + }, { "type": "WEB", "url": "https://developers.cloudflare.com/ssl/edge-certificates/caa-records" @@ -27,6 +53,10 @@ "type": "WEB", "url": "https://developers.cloudflare.com/ssl/edge-certificates/universal-ssl/limitations" }, + { + "type": "WEB", + "url": "https://notcve.org/notcve/NotCVE-2026-0001" + }, { "type": "WEB", "url": "https://www.rfc-editor.org/rfc/rfc8657" @@ -37,7 +67,9 @@ } ], "database_specific": { - "cwe_ids": [], + "cwe_ids": [ + "CWE-693" + ], "severity": "HIGH", "github_reviewed": false, "github_reviewed_at": null,