CVE-2026-48726
A bug in Apache Airflow's auth manager logout handling left previously-issued JWT tokens valid after the user clicked logout in the UI: the logout flow for `FabAuthManager` and `KeycloakAuthManager` did not actually reach the underlying `revoke_token()` call, so the JWT remained accepted by the API server until its natural expiry. An attacker holding a previously-issued JWT for a logged-out user could continue to make authenticated API calls as that user. Affects deployments configured with `FabAuthManager` or `KeycloakAuthManager` (the bug does not affect SimpleAuthManager).
Leer descripción completaMostrar menos
This is a residual gap in the fix for CVE-2025-57735, which addressed cookie-side invalidation in PR #57992 / PR #61339 but did not cover the provider-side `revoke_token()` reachability in the FAB / Keycloak code paths. Users who already upgraded for CVE-2025-57735 should additionally upgrade to `apache-airflow` 3.2.2 or later to cover the FAB / Keycloak logout paths.
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
- Puntuación base: 6.5
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.60%
- Percentil entre todas las CVEs puntuadas: 47
- Fecha de la puntuación: 5/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).
Tecnologías afectadas (1)
CWE
- CWE-613
Referencias
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-48726",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-48726",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2026-06-02T16:03:20.747068Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 6.5,
"attackVector": "NETWORK",
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N",
"integrityImpact": "NONE",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "NONE",
"privilegesRequired": "LOW",
"confidentialityImpact": "HIGH"
},
"impactScore": 3.6,
"exploitabilityScore": 2.8
}
]
},
"affected": [
{
"source": "security@apache.org",
"affectedData": [
{
"vendor": "Apache Software Foundation",
"product": "Apache Airflow",
"versions": [
{
"status": "affected",
"version": "0",
"lessThan": "3.2.2",
"versionType": "semver"
}
],
"packageName": "apache-airflow",
"collectionURL": "https://pypi.python.org",
"defaultStatus": "unaffected"
}
]
}
],
"published": "2026-06-01T09:16:20.187",
"references": [
{
"url": "https://github.com/apache/airflow/pull/67289",
"tags": [
"Issue Tracking",
"Patch"
],
"source": "security@apache.org"
},
{
"url": "https://lists.apache.org/thread/630jg4z6cjkv4m2yv2ljgmf1zhdj1vqx",
"tags": [
"Mailing List",
"Vendor Advisory"
],
"source": "security@apache.org"
},
{
"url": "https://www.cve.org/CVERecord?id=CVE-2025-57735",
"tags": [
"Mailing List",
"Third Party Advisory"
],
"source": "security@apache.org"
}
],
"vulnStatus": "Analyzed",
"weaknesses": [
{
"type": "Secondary",
"source": "security@apache.org",
"description": [
{
"lang": "en",
"value": "CWE-613"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "A bug in Apache Airflow's auth manager logout handling left previously-issued JWT tokens valid after the user clicked logout in the UI: the logout flow for `FabAuthManager` and `KeycloakAuthManager` did not actually reach the underlying `revoke_token()` call, so the JWT remained accepted by the API server until its natural expiry. An attacker holding a previously-issued JWT for a logged-out user could continue to make authenticated API calls as that user. Affects deployments configured with `FabAuthManager` or `KeycloakAuthManager` (the bug does not affect SimpleAuthManager). This is a residual gap in the fix for CVE-2025-57735, which addressed cookie-side invalidation in PR #57992 / PR #61339 but did not cover the provider-side `revoke_token()` reachability in the FAB / Keycloak code paths. Users who already upgraded for CVE-2025-57735 should additionally upgrade to `apache-airflow` 3.2.2 or later to cover the FAB / Keycloak logout paths."
},
{
"lang": "es",
"value": "Un error en el manejo del cierre de sesión del gestor de autenticación de Apache Airflow dejó válidos los tokens JWT emitidos previamente después de que el usuario hizo clic en cerrar sesión en la interfaz de usuario: el flujo de cierre de sesión para 'FabAuthManager' y 'KeycloakAuthManager' no alcanzó realmente la llamada subyacente a 'revoke_token()', por lo que el JWT siguió siendo aceptado por el servidor API hasta su caducidad natural. Un atacante que posea un JWT emitido previamente para un usuario que ha cerrado sesión podría seguir realizando llamadas API autenticadas como ese usuario. Afecta a las implementaciones configuradas con 'FabAuthManager' o 'KeycloakAuthManager' (el error no afecta a SimpleAuthManager). Esta es una brecha residual en la corrección para CVE-2025-57735, que abordó la invalidación del lado de la cookie en PR #57992 / PR #61339 pero no cubrió la accesibilidad de 'revoke_token()' del lado del proveedor en las rutas de código de FAB / Keycloak. Los usuarios que ya actualizaron para CVE-2025-57735 deberían actualizar adicionalmente a 'apache-airflow' 3.2.2 o posterior para cubrir las rutas de cierre de sesión de FAB / Keycloak."
}
],
"lastModified": "2026-07-21T19:10:00.107",
"configurations": [
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:apache:airflow:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "0893C3AA-26A4-4682-A36C-05E719EB2943",
"versionEndExcluding": "3.2.2"
}
],
"operator": "OR"
}
]
}
],
"sourceIdentifier": "security@apache.org"
}