{"metadata": {"vulnerability": "CVE-2026-84747", "count": 13, "kinds": {"milestone": 4, "sighting": 1, "kev": 0, "other": 8}, "linked_omitted": 0}, "data": [{"timestamp": "2026-09-02T08:58:24.479Z", "date_only": false, "value": "2026-09-02T08:58:24.479Z", "kind": "milestone", "label": "Reserved", "source": "cvelistv5", "record": "CVE-2026-84747", "field": "cveMetadata.dateReserved"}, {"timestamp": "2026-10-21T12:13:28.033Z", "date_only": false, "value": "2026-10-21T12:13:28.033Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-84747", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, {"timestamp": "2026-10-21T12:13:28.033Z", "date_only": false, "value": "2026-10-21T12:13:28.033Z", "kind": "other", "label": "Updated", "source": "cvelistv5 / apache", "record": "CVE-2026-84747", "field": "containers.cna.providerMetadata.dateUpdated"}, {"timestamp": "2026-10-21T13:20:03Z", "date_only": false, "value": "2026-10-21T13:20:03Z", "kind": "other", "label": "Nvd published at", "source": "github \u00b7 GHSA-94R6-XP5C-QWQ5", "record": "GHSA-94R6-XP5C-QWQ5", "field": "database_specific.nvd_published_at", "linked_record": true}, {"timestamp": "2026-10-21T13:20:03.847Z", "date_only": false, "value": "2026-10-21T13:20:03.847", "kind": "milestone", "label": "Published", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-84747", "record": "FKIE_CVE-2026-84747", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-10-21T15:42:29Z", "date_only": false, "value": "2026-10-21T15:42:29Z", "kind": "milestone", "label": "Published", "source": "github \u00b7 GHSA-94R6-XP5C-QWQ5", "record": "GHSA-94R6-XP5C-QWQ5", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-10-21T17:38:59.430Z", "date_only": false, "value": "2026-10-21T17:38:59.430691Z", "kind": "sighting", "label": "Seen", "source": "https://infosec.exchange/users/cve/statuses/117480117920796972", "record": "CVE-2026-84747", "field": "creation_timestamp", "uuid": "22fffcfe-e3cd-4058-8e73-0e70f997fb6c", "content": "CVE-2026-84747 Apache bRPC: Access Control Bypass via HTTP Request Paths Containing Empty Path Segments Interpretation conflict in the HTTP protocol implementation in Apache bRPC (version &lt; 1.18.0) on all platforms allows remote attackers to bypass access control rules enforced by a front proxy.\nRoot Cause:The method dispatch function FindMethodPropertyByURI() in bRPC's HTTP protocol splits the request path with a string splitter that skips empty fields, so paths containing empty path segments (consecutive slashes), such as //flags, /flags// and /flags//port, are dispatched to the same method as their collapsed form /flags. Per RFC 3986 these are distinct paths. A front proxy that enforces an ACL (e.g. blocking access to builtin services such as /flags) matches the collapsed form only, and therefore forwards the padded literal to the bRPC server, where it is dispatched as if it were the collapsed form. This differential allows //flags?setvalue= to reach a builtin service that /flags is not allowed to reach. Additionally, the HTTP/2 implementation never validated the :path pseudo-header, so requests without a :path, or with a :path that neither begins with '/' nor is the asterisk-form '*', contrary to RFC 9113 section 8.3.1, were not rejected.\nAffected Scenarios:Deployments of Apache bRPC behind a front proxy or gateway that performs access control (ACL) decisions on the literal request path, where the bRPC server accepts HTTP or HTTP/2 traffic from that proxy. In such deployments an attacker can send a path containing empty path segments to reach a resource that the front proxy intended to block.\nHow to Fix:(Choose one of the following options)1. Upgrade bRPC to version 1.18.0, which fixes this issue.2. Apply this patch:  https://github.com/apache/brpc/pull/3512 \nNote:After applying the fix, HTTP and HTTP/2 request paths containing empty path segments (consecutive slashes) are rejected by default, and HTTP/2 :path values that are empty or neither begin with '/' nor equal '*' are rejected. Deployments that depend on the previous lenient behavior can restore it by turning on the gflag -http_allow_empty_path_segments, which is not recommended for servers exposed to untrusted traffic.\nhttps://www.cve.org/CVERecord?id=CVE-2026-84747https://lists.apache.org/thread/2pf15ojj0vr7rtx95677kgtl1mx3gdgb#apache #ApacheSoftwareFoundation #ApachebRPC#CVE_2026_84747#bot", "url": "https://infosec.exchange/users/cve/statuses/117480117920796972"}, {"timestamp": "2026-10-30T14:38:39.421Z", "date_only": false, "value": "2026-10-30T14:38:39.421022Z", "kind": "other", "label": "Recorded", "source": "cvelistv5 / CISA-ADP", "record": "CVE-2026-84747", "field": "containers.adp.0.metrics.1.other.content.timestamp"}, {"timestamp": "2026-10-30T14:38:39.421Z", "date_only": false, "value": "2026-10-30T14:38:39.421022Z", "kind": "other", "label": "Recorded", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-84747", "record": "FKIE_CVE-2026-84747", "field": "metrics.ssvcV203.0.ssvcData.timestamp", "linked_record": true}, {"timestamp": "2026-10-30T14:39:07.800Z", "date_only": false, "value": "2026-10-30T14:39:07.800Z", "kind": "other", "label": "Updated", "source": "cvelistv5", "record": "CVE-2026-84747", "field": "cveMetadata.dateUpdated"}, {"timestamp": "2026-10-30T14:39:07.800Z", "date_only": false, "value": "2026-10-30T14:39:07.800Z", "kind": "other", "label": "Updated", "source": "cvelistv5 / CISA-ADP", "record": "CVE-2026-84747", "field": "containers.adp.0.providerMetadata.dateUpdated"}, {"timestamp": "2026-10-30T15:16:56.130Z", "date_only": false, "value": "2026-10-30T15:16:56.130", "kind": "other", "label": "Updated", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-84747", "record": "FKIE_CVE-2026-84747", "field": "lastModified", "linked_record": true}, {"timestamp": "2026-10-30T15:34:10Z", "date_only": false, "value": "2026-10-30T15:34:10Z", "kind": "other", "label": "Updated", "source": "github \u00b7 GHSA-94R6-XP5C-QWQ5", "record": "GHSA-94R6-XP5C-QWQ5", "field": "modified", "linked_record": true}], "metrics": {"as_of": "2026-11-11T02:59:56.260Z", "anchors": {"origin": {"timestamp": "2026-10-21T12:13:28.033Z", "date_only": false, "value": "2026-10-21T12:13:28.033Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-84747", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, "discovery": null, "report": null, "acknowledgement": null, "disclosure": {"timestamp": "2026-10-21T12:13:28.033Z", "date_only": false, "value": "2026-10-21T12:13:28.033Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-84747", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, "exploit_publication": null, "exploitation": null, "patch": null}, "vendor_response_time": {"available": false, "missing": ["start", "end"]}, "time_to_exploit": {"available": false, "missing": ["end"]}, "disclosure_to_exploit": {"available": false, "missing": ["end"]}, "disclosure_to_exploit_publication": {"available": false, "missing": ["end"]}, "time_to_patch": {"available": false, "missing": ["start", "end"]}, "total_time_to_patch": {"available": false, "missing": ["start", "end"]}, "disclosure_to_patch": {"available": false, "missing": ["end"]}, "time_unpatched": {"available": true, "seconds": 1781188.227184, "hours": 494.7745075511111, "days": 20.615604481296295, "min_seconds": 1781188.227184, "max_seconds": 1781188.227184, "approximate": false, "ongoing": true, "order_known": true, "batch_listing": false, "end_before_start": false, "start": {"timestamp": "2026-10-21T12:13:28.033Z", "date_only": false, "value": "2026-10-21T12:13:28.033Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-84747", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, "end": {"timestamp": "2026-11-11T02:59:56.260Z", "date_only": false, "label": "As of", "source": "Calculation clock"}}, "exploitation_to_patch": {"available": false, "missing": ["start"]}, "exploit_publication_to_patch": {"available": false, "missing": ["start"]}}}
