CVE-2025-47950 (GCVE-0-2025-47950)
Vulnerability from cvelistv5
Published
2025-06-06 17:32
Modified
2025-06-06 21:27
Severity ?
VLAI Severity ?
EPSS score ?
CWE
- CWE-770 - Allocation of Resources Without Limits or Throttling
Summary
CoreDNS is a DNS server that chains plugins. In versions prior to 1.12.2, a Denial of Service (DoS) vulnerability exists in the CoreDNS DNS-over-QUIC (DoQ) server implementation. The server previously created a new goroutine for every incoming QUIC stream without imposing any limits on the number of concurrent streams or goroutines. A remote, unauthenticated attacker could open a large number of streams, leading to uncontrolled memory consumption and eventually causing an Out Of Memory (OOM) crash — especially in containerized or memory-constrained environments. The patch in version 1.12.2 introduces two key mitigation mechanisms: `max_streams`, which caps the number of concurrent QUIC streams per connection with a default value of `256`; and `worker_pool_size`, which Introduces a server-wide, bounded worker pool to process incoming streams with a default value of `1024`. This eliminates the 1:1 stream-to-goroutine model and ensures that CoreDNS remains resilient under high concurrency. Some workarounds are available for those who are unable to upgrade. Disable QUIC support by removing or commenting out the `quic://` block in the Corefile, use container runtime resource limits to detect and isolate excessive memory usage, and/or monitor QUIC connection patterns and alert on anomalies.
References
{ "containers": { "adp": [ { "metrics": [ { "other": { "content": { "id": "CVE-2025-47950", "options": [ { "Exploitation": "none" }, { "Automatable": "yes" }, { "Technical Impact": "partial" } ], "role": "CISA Coordinator", "timestamp": "2025-06-06T18:40:34.748230Z", "version": "2.0.3" }, "type": "ssvc" } } ], "providerMetadata": { "dateUpdated": "2025-06-06T18:42:01.227Z", "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP" }, "title": "CISA ADP Vulnrichment" } ], "cna": { "affected": [ { "product": "coredns", "vendor": "coredns", "versions": [ { "status": "affected", "version": "\u003c 1.12.2" } ] } ], "descriptions": [ { "lang": "en", "value": "CoreDNS is a DNS server that chains plugins. In versions prior to 1.12.2, a Denial of Service (DoS) vulnerability exists in the CoreDNS DNS-over-QUIC (DoQ) server implementation. The server previously created a new goroutine for every incoming QUIC stream without imposing any limits on the number of concurrent streams or goroutines. A remote, unauthenticated attacker could open a large number of streams, leading to uncontrolled memory consumption and eventually causing an Out Of Memory (OOM) crash \u2014 especially in containerized or memory-constrained environments. The patch in version 1.12.2 introduces two key mitigation mechanisms: `max_streams`, which caps the number of concurrent QUIC streams per connection with a default value of `256`; and `worker_pool_size`, which Introduces a server-wide, bounded worker pool to process incoming streams with a default value of `1024`. This eliminates the 1:1 stream-to-goroutine model and ensures that CoreDNS remains resilient under high concurrency. Some workarounds are available for those who are unable to upgrade. Disable QUIC support by removing or commenting out the `quic://` block in the Corefile, use container runtime resource limits to detect and isolate excessive memory usage, and/or monitor QUIC connection patterns and alert on anomalies." } ], "metrics": [ { "cvssV3_1": { "attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "baseScore": 7.5, "baseSeverity": "HIGH", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "privilegesRequired": "NONE", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "version": "3.1" } } ], "problemTypes": [ { "descriptions": [ { "cweId": "CWE-770", "description": "CWE-770: Allocation of Resources Without Limits or Throttling", "lang": "en", "type": "CWE" } ] } ], "providerMetadata": { "dateUpdated": "2025-06-06T21:27:05.841Z", "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "shortName": "GitHub_M" }, "references": [ { "name": "https://github.com/coredns/coredns/security/advisories/GHSA-cvx7-x8pj-x2gw", "tags": [ "x_refsource_CONFIRM" ], "url": "https://github.com/coredns/coredns/security/advisories/GHSA-cvx7-x8pj-x2gw" }, { "name": "https://github.com/coredns/coredns/commit/efaed02c6a480ec147b1f799aab7cf815b17dfe1", "tags": [ "x_refsource_MISC" ], "url": "https://github.com/coredns/coredns/commit/efaed02c6a480ec147b1f799aab7cf815b17dfe1" }, { "name": "https://datatracker.ietf.org/doc/html/rfc9250", "tags": [ "x_refsource_MISC" ], "url": "https://datatracker.ietf.org/doc/html/rfc9250" }, { "name": "https://github.com/quic-go/quic-go", "tags": [ "x_refsource_MISC" ], "url": "https://github.com/quic-go/quic-go" }, { "name": "https://www.usenix.org/conference/usenixsecurity23/presentation/botella", "tags": [ "x_refsource_MISC" ], "url": "https://www.usenix.org/conference/usenixsecurity23/presentation/botella" } ], "source": { "advisory": "GHSA-cvx7-x8pj-x2gw", "discovery": "UNKNOWN" }, "title": "CoreDNS Vulnerable to DoQ Memory Exhaustion via Stream Amplification" } }, "cveMetadata": { "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "assignerShortName": "GitHub_M", "cveId": "CVE-2025-47950", "datePublished": "2025-06-06T17:32:30.218Z", "dateReserved": "2025-05-14T10:32:43.531Z", "dateUpdated": "2025-06-06T21:27:05.841Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1", "vulnerability-lookup:meta": { "nvd": "{\"cve\":{\"id\":\"CVE-2025-47950\",\"sourceIdentifier\":\"security-advisories@github.com\",\"published\":\"2025-06-06T18:15:35.330\",\"lastModified\":\"2025-08-15T16:24:26.957\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"CoreDNS is a DNS server that chains plugins. In versions prior to 1.12.2, a Denial of Service (DoS) vulnerability exists in the CoreDNS DNS-over-QUIC (DoQ) server implementation. The server previously created a new goroutine for every incoming QUIC stream without imposing any limits on the number of concurrent streams or goroutines. A remote, unauthenticated attacker could open a large number of streams, leading to uncontrolled memory consumption and eventually causing an Out Of Memory (OOM) crash \u2014 especially in containerized or memory-constrained environments. The patch in version 1.12.2 introduces two key mitigation mechanisms: `max_streams`, which caps the number of concurrent QUIC streams per connection with a default value of `256`; and `worker_pool_size`, which Introduces a server-wide, bounded worker pool to process incoming streams with a default value of `1024`. This eliminates the 1:1 stream-to-goroutine model and ensures that CoreDNS remains resilient under high concurrency. Some workarounds are available for those who are unable to upgrade. Disable QUIC support by removing or commenting out the `quic://` block in the Corefile, use container runtime resource limits to detect and isolate excessive memory usage, and/or monitor QUIC connection patterns and alert on anomalies.\"},{\"lang\":\"es\",\"value\":\"CoreDNS es un servidor DNS que encadena complementos. En versiones anteriores a la 1.12.2, exist\u00eda una vulnerabilidad de denegaci\u00f3n de servicio (DoS) en la implementaci\u00f3n del servidor DNS sobre QUIC (DoQ) de CoreDNS. Anteriormente, el servidor creaba una nueva goroutine para cada flujo QUIC entrante sin imponer ning\u00fan l\u00edmite en el n\u00famero de flujos o goroutines simult\u00e1neos. Un atacante remoto no autenticado podr\u00eda abrir un gran n\u00famero de flujos, lo que provocar\u00eda un consumo de memoria descontrolado y, eventualmente, un fallo por falta de memoria (OOM), especialmente en entornos contenedorizados o con memoria limitada. El parche de la versi\u00f3n 1.12.2 introduce dos mecanismos clave de mitigaci\u00f3n: `max_streams`, que limita el n\u00famero de flujos QUIC simult\u00e1neos por conexi\u00f3n con un valor predeterminado de `256`; y `worker_pool_size`, que introduce un grupo de trabajadores limitado a nivel de servidor para procesar los flujos entrantes con un valor predeterminado de `1024`. Esto elimina el modelo 1:1 de flujo a go-rutina y garantiza la resiliencia de CoreDNS en condiciones de alta concurrencia. Existen soluciones alternativas para quienes no puedan actualizar. Desactive la compatibilidad con QUIC eliminando o comentando el bloque `quic://` en el Corefile, utilice los l\u00edmites de recursos del contenedor en tiempo de ejecuci\u00f3n para detectar y aislar el uso excesivo de memoria, o monitoree los patrones de conexi\u00f3n de QUIC y alerte sobre anomal\u00edas.\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H\",\"baseScore\":7.5,\"baseSeverity\":\"HIGH\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":3.9,\"impactScore\":3.6}]},\"weaknesses\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-770\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:coredns.io:coredns:*:*:*:*:*:*:*:*\",\"versionEndExcluding\":\"1.12.2\",\"matchCriteriaId\":\"C6E2A1C9-04F7-4EB6-9BDF-5358AC2EBA35\"}]}]}],\"references\":[{\"url\":\"https://datatracker.ietf.org/doc/html/rfc9250\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Technical Description\"]},{\"url\":\"https://github.com/coredns/coredns/commit/efaed02c6a480ec147b1f799aab7cf815b17dfe1\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Patch\"]},{\"url\":\"https://github.com/coredns/coredns/security/advisories/GHSA-cvx7-x8pj-x2gw\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Vendor Advisory\"]},{\"url\":\"https://github.com/quic-go/quic-go\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Not Applicable\"]},{\"url\":\"https://www.usenix.org/conference/usenixsecurity23/presentation/botella\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Broken Link\"]}]}}", "vulnrichment": { "containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2025-47950\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"yes\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2025-06-06T18:40:34.748230Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2025-06-06T18:41:56.320Z\"}}], \"cna\": {\"title\": \"CoreDNS Vulnerable to DoQ Memory Exhaustion via Stream Amplification\", \"source\": {\"advisory\": \"GHSA-cvx7-x8pj-x2gw\", \"discovery\": \"UNKNOWN\"}, \"metrics\": [{\"cvssV3_1\": {\"scope\": \"UNCHANGED\", \"version\": \"3.1\", \"baseScore\": 7.5, \"attackVector\": \"NETWORK\", \"baseSeverity\": \"HIGH\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H\", \"integrityImpact\": \"NONE\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"HIGH\", \"privilegesRequired\": \"NONE\", \"confidentialityImpact\": \"NONE\"}}], \"affected\": [{\"vendor\": \"coredns\", \"product\": \"coredns\", \"versions\": [{\"status\": \"affected\", \"version\": \"\u003c 1.12.2\"}]}], \"references\": [{\"url\": \"https://github.com/coredns/coredns/security/advisories/GHSA-cvx7-x8pj-x2gw\", \"name\": \"https://github.com/coredns/coredns/security/advisories/GHSA-cvx7-x8pj-x2gw\", \"tags\": [\"x_refsource_CONFIRM\"]}, {\"url\": \"https://github.com/coredns/coredns/commit/efaed02c6a480ec147b1f799aab7cf815b17dfe1\", \"name\": \"https://github.com/coredns/coredns/commit/efaed02c6a480ec147b1f799aab7cf815b17dfe1\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://datatracker.ietf.org/doc/html/rfc9250\", \"name\": \"https://datatracker.ietf.org/doc/html/rfc9250\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/quic-go/quic-go\", \"name\": \"https://github.com/quic-go/quic-go\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://www.usenix.org/conference/usenixsecurity23/presentation/botella\", \"name\": \"https://www.usenix.org/conference/usenixsecurity23/presentation/botella\", \"tags\": [\"x_refsource_MISC\"]}], \"descriptions\": [{\"lang\": \"en\", \"value\": \"CoreDNS is a DNS server that chains plugins. In versions prior to 1.12.2, a Denial of Service (DoS) vulnerability exists in the CoreDNS DNS-over-QUIC (DoQ) server implementation. The server previously created a new goroutine for every incoming QUIC stream without imposing any limits on the number of concurrent streams or goroutines. A remote, unauthenticated attacker could open a large number of streams, leading to uncontrolled memory consumption and eventually causing an Out Of Memory (OOM) crash \\u2014 especially in containerized or memory-constrained environments. The patch in version 1.12.2 introduces two key mitigation mechanisms: `max_streams`, which caps the number of concurrent QUIC streams per connection with a default value of `256`; and `worker_pool_size`, which Introduces a server-wide, bounded worker pool to process incoming streams with a default value of `1024`. This eliminates the 1:1 stream-to-goroutine model and ensures that CoreDNS remains resilient under high concurrency. Some workarounds are available for those who are unable to upgrade. Disable QUIC support by removing or commenting out the `quic://` block in the Corefile, use container runtime resource limits to detect and isolate excessive memory usage, and/or monitor QUIC connection patterns and alert on anomalies.\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-770\", \"description\": \"CWE-770: Allocation of Resources Without Limits or Throttling\"}]}], \"providerMetadata\": {\"orgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"shortName\": \"GitHub_M\", \"dateUpdated\": \"2025-06-06T21:27:05.841Z\"}}}", "cveMetadata": "{\"cveId\": \"CVE-2025-47950\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2025-06-06T21:27:05.841Z\", \"dateReserved\": \"2025-05-14T10:32:43.531Z\", \"assignerOrgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"datePublished\": \"2025-06-06T17:32:30.218Z\", \"assignerShortName\": \"GitHub_M\"}", "dataType": "CVE_RECORD", "dataVersion": "5.1" } } }
Loading…
Loading…
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…