CVE-2026-21720
Every uncached /avatar/:hash request spawns a goroutine that refreshes the Gravatar image. If the refresh sits in the 10-slot worker queue longer than three seconds, the handler times out and stops listening for the result, so that goroutine blocks forever trying to send on an unbuffered channel. Sustained traffic with random hashes keeps tripping this timeout, so goroutine count grows linearly, eventually exhausting memory and causing Grafana to crash on some systems.
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- Puntuación base: 7.5
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.70%
- Percentil entre todas las CVEs puntuadas: 52
- Fecha de la puntuación: 6/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
🎯 Técnicas ATT&CK
Cómo se explota esta vulnerabilidad y qué consigue el atacante, en el lenguaje de MITRE ATT&CK.
- Explotación
T1190Exploit Public-Facing Applicationinitial access85 % - Impacto principal
T1499.004Application or System Exploitationimpact90 %
Acceso de red sin autenticación (AV:N/PR:N) a endpoint /avatar/:hash que causa agotamiento de memoria por goroutines bloqueadas, resultando en denegación de servicio.
Inferido por nuestro agente de análisis a partir de la descripción oficial, el vector CVSS y la CWE, y comprobado por un supervisor. Puede contener errores.
🛡️ Mitigaciones ATT&CK que cubren estas técnicas
Tecnologías afectadas (1)
CWE
- CWE-400, CWE-703
- CWE-772
Referencias
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-21720",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-21720",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "yes"
},
{
"technicalImpact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2026-01-27T14:28:02.795937Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "security@grafana.com",
"cvssData": {
"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"
},
"impactScore": 3.6,
"exploitabilityScore": 3.9
},
{
"type": "Secondary",
"source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
"cvssData": {
"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"
},
"impactScore": 3.6,
"exploitabilityScore": 3.9
}
]
},
"affected": [
{
"source": "security@grafana.com",
"affectedData": [
{
"vendor": "Grafana",
"product": "grafana/grafana-enterprise",
"versions": [
{
"status": "affected",
"version": "3.0.0",
"lessThan": "11.6.9",
"versionType": "semver"
}
],
"defaultStatus": "unaffected"
},
{
"vendor": "Grafana",
"product": "grafana/grafana-enterprise",
"versions": [
{
"status": "affected",
"version": "3.0.0",
"lessThan": "12.0.8",
"versionType": "semver"
}
],
"defaultStatus": "unaffected"
},
{
"vendor": "Grafana",
"product": "grafana/grafana-enterprise",
"versions": [
{
"status": "affected",
"version": "3.0.0",
"lessThan": "12.1.5",
"versionType": "semver"
}
],
"defaultStatus": "unaffected"
},
{
"vendor": "Grafana",
"product": "grafana/grafana",
"versions": [
{
"status": "affected",
"version": "3.0.0",
"lessThan": "11.6.9",
"versionType": "semver"
}
],
"defaultStatus": "unaffected"
},
{
"vendor": "Grafana",
"product": "grafana/grafana",
"versions": [
{
"status": "affected",
"version": "3.0.0",
"lessThan": "12.0.8",
"versionType": "semver"
}
],
"defaultStatus": "unaffected"
},
{
"vendor": "Grafana",
"product": "grafana/grafana",
"versions": [
{
"status": "affected",
"version": "3.0.0",
"lessThan": "12.1.5",
"versionType": "semver"
}
],
"defaultStatus": "unaffected"
},
{
"vendor": "Grafana",
"product": "grafana/grafana-enterprise",
"versions": [
{
"status": "affected",
"version": "3.0.0",
"lessThan": "12.2.3",
"versionType": "semver"
}
],
"defaultStatus": "unaffected"
},
{
"vendor": "Grafana",
"product": "grafana/grafana",
"versions": [
{
"status": "affected",
"version": "3.0.0",
"lessThan": "12.2.3",
"versionType": "semver"
}
],
"defaultStatus": "unaffected"
},
{
"vendor": "Grafana",
"product": "grafana/grafana-enterprise",
"versions": [
{
"status": "affected",
"version": "3.0.0",
"lessThan": "12.3.1",
"versionType": "semver"
}
],
"defaultStatus": "unaffected"
},
{
"vendor": "Grafana",
"product": "grafana/grafana",
"versions": [
{
"status": "affected",
"version": "3.0.0",
"lessThan": "12.3.1",
"versionType": "semver"
}
],
"defaultStatus": "unaffected"
}
]
},
{
"source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
"affectedData": [
{
"cpes": [
"cpe:/a:redhat:ceph_storage:7"
],
"vendor": "Red Hat",
"product": "Red Hat Ceph Storage 7",
"packageName": "rhceph/grafana-rhel9",
"collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
"defaultStatus": "unaffected"
},
{
"cpes": [
"cpe:/a:redhat:ceph_storage:8"
],
"vendor": "Red Hat",
"product": "Red Hat Ceph Storage 8",
"packageName": "rhceph/grafana-rhel9",
"collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
"defaultStatus": "unaffected"
},
{
"cpes": [
"cpe:/o:redhat:enterprise_linux:10"
],
"vendor": "Red Hat",
"product": "Red Hat Enterprise Linux 10",
"packageName": "grafana",
"collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
"defaultStatus": "unaffected"
},
{
"cpes": [
"cpe:/o:redhat:enterprise_linux:8"
],
"vendor": "Red Hat",
"product": "Red Hat Enterprise Linux 8",
"packageName": "grafana",
"collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
"defaultStatus": "unaffected"
},
{
"cpes": [
"cpe:/o:redhat:enterprise_linux:9"
],
"vendor": "Red Hat",
"product": "Red Hat Enterprise Linux 9",
"packageName": "grafana",
"collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
"defaultStatus": "unaffected"
}
]
}
],
"published": "2026-01-27T09:15:48.490",
"references": [
{
"url": "https://grafana.com/security/security-advisories/cve-2026-21720",
"tags": [
"Broken Link"
],
"source": "security@grafana.com"
},
{
"url": "https://access.redhat.com/security/cve/CVE-2026-21720",
"source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c"
},
{
"url": "https://bugzilla.redhat.com/show_bug.cgi?id=2433226",
"source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c"
},
{
"url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-21720.json",
"source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c"
}
],
"vulnStatus": "Modified",
"weaknesses": [
{
"type": "Secondary",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"description": [
{
"lang": "en",
"value": "CWE-400"
},
{
"lang": "en",
"value": "CWE-703"
}
]
},
{
"type": "Secondary",
"source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
"description": [
{
"lang": "en",
"value": "CWE-772"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Every uncached /avatar/:hash request spawns a goroutine that refreshes the Gravatar image. If the refresh sits in the 10-slot worker queue longer than three seconds, the handler times out and stops listening for the result, so that goroutine blocks forever trying to send on an unbuffered channel. Sustained traffic with random hashes keeps tripping this timeout, so goroutine count grows linearly, eventually exhausting memory and causing Grafana to crash on some systems."
},
{
"lang": "es",
"value": "Cada solicitud sin caché a /avatar/:hash lanza una goroutine que actualiza la imagen de Gravatar. Si la actualización permanece en la cola de trabajadores de 10 ranuras por más de tres segundos, el manejador agota el tiempo de espera y deja de escuchar el resultado, de modo que esa goroutine se bloquea para siempre intentando enviar en un canal sin búfer. El tráfico sostenido con hashes aleatorios sigue activando este tiempo de espera, por lo que el recuento de goroutines crece linealmente, agotando la memoria con el tiempo y provocando que Grafana falle en algunos sistemas."
}
],
"lastModified": "2026-07-15T02:18:30.797",
"configurations": [
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:grafana:grafana:*:*:*:*:-:*:*:*",
"vulnerable": true,
"matchCriteriaId": "215EC0E7-BF4E-460F-893F-3D5E56692D65",
"versionEndExcluding": "11.6.9",
"versionStartIncluding": "3.0.0"
},
{
"criteria": "cpe:2.3:a:grafana:grafana:*:*:*:*:enterprise:*:*:*",
"vulnerable": true,
"matchCriteriaId": "4D528EF4-2414-4A32-BA0E-16FA15EE1D52",
"versionEndExcluding": "11.6.9",
"versionStartIncluding": "3.0.0"
},
{
"criteria": "cpe:2.3:a:grafana:grafana:*:*:*:*:-:*:*:*",
"vulnerable": true,
"matchCriteriaId": "C3E78D4A-A206-4BD4-BBE5-F8BE832B4A07",
"versionEndExcluding": "12.0.8",
"versionStartIncluding": "12.0.0"
},
{
"criteria": "cpe:2.3:a:grafana:grafana:*:*:*:*:enterprise:*:*:*",
"vulnerable": true,
"matchCriteriaId": "C0821B6B-AC98-4A9D-973D-12E2063DF866",
"versionEndExcluding": "12.0.8",
"versionStartIncluding": "12.0.0"
},
{
"criteria": "cpe:2.3:a:grafana:grafana:*:*:*:*:-:*:*:*",
"vulnerable": true,
"matchCriteriaId": "993757EB-FCCD-4B3B-B23A-00EA8B1AFF52",
"versionEndExcluding": "12.1.5",
"versionStartIncluding": "12.1.0"
},
{
"criteria": "cpe:2.3:a:grafana:grafana:*:*:*:*:enterprise:*:*:*",
"vulnerable": true,
"matchCriteriaId": "FB947690-25AC-4597-80B3-9034CE94B8C7",
"versionEndExcluding": "12.1.5",
"versionStartIncluding": "12.1.0"
},
{
"criteria": "cpe:2.3:a:grafana:grafana:*:*:*:*:-:*:*:*",
"vulnerable": true,
"matchCriteriaId": "A87029A0-871D-4130-A240-7A64990573F5",
"versionEndExcluding": "12.2.3",
"versionStartIncluding": "12.2.0"
},
{
"criteria": "cpe:2.3:a:grafana:grafana:*:*:*:*:enterprise:*:*:*",
"vulnerable": true,
"matchCriteriaId": "B3E99C8B-08A8-4672-8ED2-E8CE2F3DCD4A",
"versionEndExcluding": "12.2.3",
"versionStartIncluding": "12.2.0"
},
{
"criteria": "cpe:2.3:a:grafana:grafana:12.3.0:*:*:*:-:*:*:*",
"vulnerable": true,
"matchCriteriaId": "9BE4EE19-92B3-4B1D-97BE-76194B38DA2A"
},
{
"criteria": "cpe:2.3:a:grafana:grafana:12.3.0:*:*:*:enterprise:*:*:*",
"vulnerable": true,
"matchCriteriaId": "EB9EC106-6F33-4834-B59D-6633BB83B6A5"
}
],
"operator": "OR"
}
]
}
],
"sourceIdentifier": "security@grafana.com"
}