CVE-2023-51702
Since version 5.2.0, when using deferrable mode with the path of a Kubernetes configuration file for authentication, the Airflow worker serializes this configuration file as a dictionary and sends it to the triggerer by storing it in metadata without any encryption. Additionally, if used with an Airflow version between 2.3.0 and 2.6.0, the configuration dictionary will be logged as plain text in the triggerer service without masking. This allows anyone with access to the metadata or triggerer log to obtain the configuration file and use it to access the Kubernetes cluster.
This behavior was changed in version 7.0.0, which stopped serializing the file contents and started providing the file path instead to read the contents into the trigger. Users are recommended to upgrade to version 7.0.0, which fixes this issue.
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.39%
- Percentil entre todas las CVEs puntuadas: 30
- 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).
Tecnologías afectadas (2)
CWE
- CWE-312, CWE-532
Referencias
- http://www.openwall.com/lists/oss-security/2024/01/24/3
- https://github.com/apache/airflow/pull/29498
- https://github.com/apache/airflow/pull/30110
- https://github.com/apache/airflow/pull/36492
- https://lists.apache.org/thread/89x3q6lz5pykrkr1fkr04k4rfn9pvnv9
- http://www.openwall.com/lists/oss-security/2024/01/24/3
- https://github.com/apache/airflow/pull/29498
- https://github.com/apache/airflow/pull/30110
- https://github.com/apache/airflow/pull/36492
- https://lists.apache.org/thread/89x3q6lz5pykrkr1fkr04k4rfn9pvnv9
JSON original (NVD)
Mostrar
{
"id": "CVE-2023-51702",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2023-51702",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2024-01-29T16:36:41.716962Z"
}
}
],
"cvssMetricV31": [
{
"type": "Primary",
"source": "nvd@nist.gov",
"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
},
{
"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 CNCF Kubernetes provider",
"versions": [
{
"status": "affected",
"version": "5.2.0",
"lessThan": "7.0.0",
"versionType": "semver"
}
],
"packageName": "apache-airflow-providers-cncf-kubernetes",
"collectionURL": "https://pypi.python.org",
"defaultStatus": "unaffected"
},
{
"vendor": "Apache Software Foundation",
"product": "Apache Airflow",
"versions": [
{
"status": "affected",
"version": "2.3.0",
"lessThan": "2.6.1",
"versionType": "semver"
}
],
"packageName": "apache-airflow",
"collectionURL": "https://pypi.python.org",
"defaultStatus": "unaffected"
}
]
}
],
"published": "2024-01-24T13:15:08.150",
"references": [
{
"url": "http://www.openwall.com/lists/oss-security/2024/01/24/3",
"tags": [
"Mailing List",
"Third Party Advisory"
],
"source": "security@apache.org"
},
{
"url": "https://github.com/apache/airflow/pull/29498",
"tags": [
"Issue Tracking",
"Patch"
],
"source": "security@apache.org"
},
{
"url": "https://github.com/apache/airflow/pull/30110",
"tags": [
"Patch"
],
"source": "security@apache.org"
},
{
"url": "https://github.com/apache/airflow/pull/36492",
"tags": [
"Issue Tracking",
"Patch"
],
"source": "security@apache.org"
},
{
"url": "https://lists.apache.org/thread/89x3q6lz5pykrkr1fkr04k4rfn9pvnv9",
"tags": [
"Mailing List",
"Vendor Advisory"
],
"source": "security@apache.org"
},
{
"url": "http://www.openwall.com/lists/oss-security/2024/01/24/3",
"tags": [
"Mailing List",
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://github.com/apache/airflow/pull/29498",
"tags": [
"Issue Tracking",
"Patch"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://github.com/apache/airflow/pull/30110",
"tags": [
"Patch"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://github.com/apache/airflow/pull/36492",
"tags": [
"Issue Tracking",
"Patch"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://lists.apache.org/thread/89x3q6lz5pykrkr1fkr04k4rfn9pvnv9",
"tags": [
"Mailing List",
"Vendor Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
}
],
"vulnStatus": "Modified",
"weaknesses": [
{
"type": "Secondary",
"source": "security@apache.org",
"description": [
{
"lang": "en",
"value": "CWE-312"
},
{
"lang": "en",
"value": "CWE-532"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Since version 5.2.0, when using deferrable mode with the path of a Kubernetes configuration file for authentication, the Airflow worker serializes this configuration file as a dictionary and sends it to the triggerer by storing it in metadata without any encryption. Additionally, if used with an Airflow version between 2.3.0 and 2.6.0, the configuration dictionary will be logged as plain text in the triggerer service without masking. This allows anyone with access to the metadata or triggerer log to obtain the configuration file and use it to access the Kubernetes cluster.\n\nThis behavior was changed in version 7.0.0, which stopped serializing the file contents and started providing the file path instead to read the contents into the trigger. Users are recommended to upgrade to version 7.0.0, which fixes this issue."
},
{
"lang": "es",
"value": "Desde la versión 5.2.0, cuando se utiliza el modo diferible con la ruta de un archivo de configuración de Kubernetes para la autenticación, el trabajador de Airflow serializa este archivo de configuración como un diccionario y lo envía al activador almacenándolo en metadatos sin ningún cifrado. Además, si se utiliza con una versión de Airflow entre 2.3.0 y 2.6.0, el diccionario de configuración se registrará como texto plano en el servicio activador sin enmascaramiento. Esto permite que cualquier persona con acceso a los metadatos o al registro del activador obtenga el archivo de configuración y lo utilice para acceder al clúster de Kubernetes. Este comportamiento se cambió en la versión 7.0.0, que dejó de serializar el contenido del archivo y comenzó a proporcionar la ruta del archivo para leer el contenido en el activador. Se recomienda a los usuarios actualizar a la versión 7.0.0, que soluciona este problema."
}
],
"lastModified": "2026-07-02T17:01:47.360",
"configurations": [
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:apache:airflow:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "6592EF36-124C-4817-AAA7-33E0D5C1AB57",
"versionEndExcluding": "2.6.1",
"versionStartIncluding": "2.3.0"
},
{
"criteria": "cpe:2.3:a:apache:apache-airflow-providers-cncf-kubernetes:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "9DDFB60E-17C0-4B76-B37A-B65EE41F588F",
"versionEndExcluding": "7.0.0",
"versionStartIncluding": "5.2.0"
}
],
"operator": "OR"
}
]
}
],
"sourceIdentifier": "security@apache.org"
}