124 lines
7.6 KiB
JSON
124 lines
7.6 KiB
JSON
{
|
||
"dataType": "CVE_RECORD",
|
||
"dataVersion": "5.2",
|
||
"cveMetadata": {
|
||
"cveId": "CVE-2026-12708",
|
||
"assignerOrgId": "a22f1246-ba21-4bb4-a601-ad51614c1513",
|
||
"state": "PUBLISHED",
|
||
"assignerShortName": "cloudflare",
|
||
"dateReserved": "2026-06-19T10:44:16.225Z",
|
||
"datePublished": "2026-11-10T13:25:09.558Z",
|
||
"dateUpdated": "2026-11-10T13:42:52.186Z"
|
||
},
|
||
"containers": {
|
||
"cna": {
|
||
"providerMetadata": {
|
||
"orgId": "a22f1246-ba21-4bb4-a601-ad51614c1513",
|
||
"shortName": "cloudflare",
|
||
"dateUpdated": "2026-11-10T13:42:52.186Z"
|
||
},
|
||
"title": "Unbounded HTTP/3 Datagram flow map growth in tokio-quiche",
|
||
"problemTypes": [
|
||
{
|
||
"descriptions": [
|
||
{
|
||
"lang": "en",
|
||
"cweId": "CWE-401",
|
||
"description": "CWE-401 Missing release of memory after effective lifetime",
|
||
"type": "CWE"
|
||
}
|
||
]
|
||
}
|
||
],
|
||
"impacts": [
|
||
{
|
||
"capecId": "CAPEC-130",
|
||
"descriptions": [
|
||
{
|
||
"lang": "en",
|
||
"value": "CAPEC-130 Excessive Allocation"
|
||
}
|
||
]
|
||
}
|
||
],
|
||
"affected": [
|
||
{
|
||
"vendor": "Cloudflare",
|
||
"product": "tokio-quiche",
|
||
"repo": "https://github.com/cloudflare/quiche/tree/master/tokio-quiche",
|
||
"versions": [
|
||
{
|
||
"status": "affected",
|
||
"version": "0.0.1",
|
||
"lessThanOrEqual": "0.20.1",
|
||
"versionType": "semver"
|
||
}
|
||
],
|
||
"defaultStatus": "unaffected"
|
||
}
|
||
],
|
||
"descriptions": [
|
||
{
|
||
"lang": "en",
|
||
"value": "Summary\n\n\nCloudflare tokio-quiche was found to contain an uncontrolled resource consumption vulnerability in its HTTP/3 DATAGRAM handling. For every previously unseen flow identifier (quarter stream ID) received in a DATAGRAM frame, tokio-quiche creates and retains new, per-flow state. A remote peer can send DATAGRAMs with many distinct identifiers, causing the per-connection flow map and associated channel state to grow without bound.\n\nImpact\n\n\nExploitation can exhaust process memory and cause a denial of service. The vulnerable code is used in both client and server configurations, so either role can be affected by a malicious peer. QUIC DATAGRAM support in tokio-quiche is enabled by default through QuicSettings::enable_dgram; applications can disable it by setting this field to false. The vulnerable HTTP/3 path is reachable only when DATAGRAM support is negotiated with the peer. Core quiche and HTTP/3 deployments without DATAGRAM support are not affected. \n\n\n\n\n\n\nMitigation\n\n\nDisable DATAGRAMs in tokio-quiche’s QuicSettings::enable_dgram.\n\n\n\n\n\n\nRemediation\n\n\nUpgrade to tokio-quiche version 0.23.0 or later. The fixed code creates flow state only for valid DATAGRAM-capable request streams, which are bounded by QUIC’s stream limits. To tolerate packet reordering, servers retain early DATAGRAMs in a bounded, expiring buffer, while clients discard DATAGRAMs for unknown flows.",
|
||
"supportingMedia": [
|
||
{
|
||
"type": "text/html",
|
||
"base64": false,
|
||
"value": "<h2><b>Summary</b></h2><p><b><br></b><span>Cloudflare tokio-quiche was found to contain an uncontrolled resource consumption vulnerability in its HTTP/3 DATAGRAM handling. For every previously unseen flow identifier (quarter stream ID) received in a DATAGRAM frame, tokio-quiche creates and retains new, per-flow state. A remote peer can send DATAGRAMs with many distinct identifiers, causing the per-connection flow map and associated channel state to grow without bound.</span></p><h2><b>Impact</b></h2><p><b><br></b><span>Exploitation can exhaust process memory and cause a denial of service. The vulnerable code is used in both client and server configurations, so either role can be affected by a malicious peer. QUIC DATAGRAM support in tokio-quiche is enabled by default through </span><span>QuicSettings::enable_dgram</span><span>; applications can disable it by setting this field to </span><span>false</span><span>. The vulnerable HTTP/3 path is reachable only when DATAGRAM support is negotiated with the peer. Core quiche and HTTP/3 deployments without DATAGRAM support are not affected. </span></p><p><span><br></span></p><h2><b>Mitigation</b></h2><p><b><br></b><span>Disable DATAGRAMs in tokio-quiche’s </span><span>QuicSettings::enable_dgram</span><span>.</span></p><p><b><br></b></p><h2><b>Remediation</b></h2><p><b><br></b><span>Upgrade to tokio-quiche version 0.23.0 or later. The fixed code creates flow state only for valid DATAGRAM-capable request streams, which are bounded by QUIC’s stream limits. To tolerate packet reordering, servers retain early DATAGRAMs in a bounded, expiring buffer, while clients discard DATAGRAMs for unknown flows.</span></p><br>"
|
||
}
|
||
]
|
||
}
|
||
],
|
||
"references": [
|
||
{
|
||
"url": "https://www.cve.org/CVERecord?id=CVE-2026-12708"
|
||
},
|
||
{
|
||
"url": "https://github.com/cloudflare/quiche/security/advisories/GHSA-wcm9-jv39-r963"
|
||
}
|
||
],
|
||
"metrics": [
|
||
{
|
||
"format": "CVSS",
|
||
"scenarios": [
|
||
{
|
||
"lang": "en",
|
||
"value": "GENERAL"
|
||
}
|
||
],
|
||
"cvssV4_0": {
|
||
"attackVector": "NETWORK",
|
||
"attackComplexity": "LOW",
|
||
"attackRequirements": "NONE",
|
||
"privilegesRequired": "NONE",
|
||
"userInteraction": "NONE",
|
||
"vulnConfidentialityImpact": "NONE",
|
||
"subConfidentialityImpact": "NONE",
|
||
"vulnIntegrityImpact": "NONE",
|
||
"subIntegrityImpact": "NONE",
|
||
"vulnAvailabilityImpact": "HIGH",
|
||
"subAvailabilityImpact": "NONE",
|
||
"exploitMaturity": "NOT_DEFINED",
|
||
"Safety": "NOT_DEFINED",
|
||
"Automatable": "NOT_DEFINED",
|
||
"Recovery": "NOT_DEFINED",
|
||
"valueDensity": "NOT_DEFINED",
|
||
"vulnerabilityResponseEffort": "NOT_DEFINED",
|
||
"providerUrgency": "NOT_DEFINED",
|
||
"version": "4.0",
|
||
"baseSeverity": "HIGH",
|
||
"baseScore": 8.7,
|
||
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N"
|
||
}
|
||
}
|
||
],
|
||
"source": {
|
||
"discovery": "UNKNOWN"
|
||
},
|
||
"x_generator": {
|
||
"engine": "Vulnogram 1.0.5"
|
||
}
|
||
}
|
||
}
|
||
} |