cve-2023-51702
Vulnerability from cvelistv5
Published
2024-01-24 12:56
Modified
2025-02-13 17:19
Severity ?
EPSS score ?
Summary
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.
References
Impacted products
Vendor | Product | Version | |||||||
---|---|---|---|---|---|---|---|---|---|
▼ | Apache Software Foundation | Apache Airflow CNCF Kubernetes provider |
Version: 5.2.0 ≤ |
||||||
|
{ containers: { adp: [ { providerMetadata: { dateUpdated: "2024-08-02T22:40:34.203Z", orgId: "af854a3a-2127-422b-91ae-364da2661108", shortName: "CVE", }, references: [ { tags: [ "patch", "x_transferred", ], url: "https://github.com/apache/airflow/pull/29498", }, { tags: [ "patch", "x_transferred", ], url: "https://github.com/apache/airflow/pull/30110", }, { tags: [ "patch", "x_transferred", ], url: "https://github.com/apache/airflow/pull/36492", }, { tags: [ "vendor-advisory", "x_transferred", ], url: "https://lists.apache.org/thread/89x3q6lz5pykrkr1fkr04k4rfn9pvnv9", }, { tags: [ "x_transferred", ], url: "http://www.openwall.com/lists/oss-security/2024/01/24/3", }, ], title: "CVE Program Container", }, { metrics: [ { other: { content: { id: "CVE-2023-51702", options: [ { Exploitation: "none", }, { Automatable: "no", }, { "Technical Impact": "partial", }, ], role: "CISA Coordinator", timestamp: "2024-01-29T16:36:41.716962Z", version: "2.0.3", }, type: "ssvc", }, }, ], providerMetadata: { dateUpdated: "2024-11-13T15:10:31.048Z", orgId: "134c704f-9b21-4f2e-91b3-4a467353bcc0", shortName: "CISA-ADP", }, title: "CISA ADP Vulnrichment", }, ], cna: { affected: [ { collectionURL: "https://pypi.python.org", defaultStatus: "unaffected", packageName: "apache-airflow-providers-cncf-kubernetes", product: "Apache Airflow CNCF Kubernetes provider", vendor: "Apache Software Foundation", versions: [ { lessThan: "7.0.0", status: "affected", version: "5.2.0", versionType: "semver", }, ], }, { collectionURL: "https://pypi.python.org", defaultStatus: "unaffected", packageName: "apache-airflow", product: "Apache Airflow", vendor: "Apache Software Foundation", versions: [ { lessThan: "2.6.1", status: "affected", version: "2.3.0", versionType: "semver", }, ], }, ], credits: [ { lang: "en", type: "finder", value: "Hussein Awala", }, { lang: "en", type: "remediation developer", value: "Hussein Awala", }, ], descriptions: [ { lang: "en", supportingMedia: [ { base64: false, type: "text/html", 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.<br><br>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.", }, ], 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.", }, ], metrics: [ { other: { content: { text: "moderate", }, type: "Textual description of severity", }, }, ], problemTypes: [ { descriptions: [ { cweId: "CWE-532", description: "CWE-532 Insertion of Sensitive Information into Log File", lang: "en", type: "CWE", }, ], }, { descriptions: [ { cweId: "CWE-312", description: "CWE-312 Cleartext Storage of Sensitive Information", lang: "en", type: "CWE", }, ], }, ], providerMetadata: { dateUpdated: "2024-01-24T13:00:12.306Z", orgId: "f0158376-9dc2-43b6-827c-5f631a4d8d09", shortName: "apache", }, references: [ { tags: [ "patch", ], url: "https://github.com/apache/airflow/pull/29498", }, { tags: [ "patch", ], url: "https://github.com/apache/airflow/pull/30110", }, { tags: [ "patch", ], url: "https://github.com/apache/airflow/pull/36492", }, { tags: [ "vendor-advisory", ], url: "https://lists.apache.org/thread/89x3q6lz5pykrkr1fkr04k4rfn9pvnv9", }, { url: "http://www.openwall.com/lists/oss-security/2024/01/24/3", }, ], source: { discovery: "INTERNAL", }, title: "Apache Airflow CNCF Kubernetes provider, Apache Airflow: Kubernetes configuration file saved without encryption in the Metadata and logged as plain text in the Triggerer service", x_generator: { engine: "Vulnogram 0.1.0-dev", }, }, }, cveMetadata: { assignerOrgId: "f0158376-9dc2-43b6-827c-5f631a4d8d09", assignerShortName: "apache", cveId: "CVE-2023-51702", datePublished: "2024-01-24T12:56:17.869Z", dateReserved: "2023-12-21T22:59:06.988Z", dateUpdated: "2025-02-13T17:19:48.602Z", state: "PUBLISHED", }, dataType: "CVE_RECORD", dataVersion: "5.1", "vulnerability-lookup:meta": { nvd: "{\"cve\":{\"id\":\"CVE-2023-51702\",\"sourceIdentifier\":\"security@apache.org\",\"published\":\"2024-01-24T13:15:08.150\",\"lastModified\":\"2024-11-21T08:38:38.443\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"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.\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N\",\"baseScore\":6.5,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"NONE\"},\"exploitabilityScore\":2.8,\"impactScore\":3.6}]},\"weaknesses\":[{\"source\":\"security@apache.org\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-312\"},{\"lang\":\"en\",\"value\":\"CWE-532\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:apache:airflow:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"2.3.0\",\"versionEndExcluding\":\"2.6.1\",\"matchCriteriaId\":\"6592EF36-124C-4817-AAA7-33E0D5C1AB57\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:apache:airflow_cncf_kubernetes:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.2.0\",\"versionEndExcluding\":\"7.0.0\",\"matchCriteriaId\":\"FD1C8DDC-BBE7-494E-87EF-F478DB8453C0\"}]}]}],\"references\":[{\"url\":\"http://www.openwall.com/lists/oss-security/2024/01/24/3\",\"source\":\"security@apache.org\",\"tags\":[\"Mailing List\",\"Third Party Advisory\"]},{\"url\":\"https://github.com/apache/airflow/pull/29498\",\"source\":\"security@apache.org\",\"tags\":[\"Issue Tracking\",\"Patch\"]},{\"url\":\"https://github.com/apache/airflow/pull/30110\",\"source\":\"security@apache.org\",\"tags\":[\"Patch\"]},{\"url\":\"https://github.com/apache/airflow/pull/36492\",\"source\":\"security@apache.org\",\"tags\":[\"Issue Tracking\",\"Patch\"]},{\"url\":\"https://lists.apache.org/thread/89x3q6lz5pykrkr1fkr04k4rfn9pvnv9\",\"source\":\"security@apache.org\",\"tags\":[\"Mailing List\",\"Vendor Advisory\"]},{\"url\":\"http://www.openwall.com/lists/oss-security/2024/01/24/3\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Mailing List\",\"Third Party Advisory\"]},{\"url\":\"https://github.com/apache/airflow/pull/29498\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Issue Tracking\",\"Patch\"]},{\"url\":\"https://github.com/apache/airflow/pull/30110\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://github.com/apache/airflow/pull/36492\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Issue Tracking\",\"Patch\"]},{\"url\":\"https://lists.apache.org/thread/89x3q6lz5pykrkr1fkr04k4rfn9pvnv9\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Mailing List\",\"Vendor Advisory\"]}]}}", vulnrichment: { containers: "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://github.com/apache/airflow/pull/29498\", \"tags\": [\"patch\", \"x_transferred\"]}, {\"url\": \"https://github.com/apache/airflow/pull/30110\", \"tags\": [\"patch\", \"x_transferred\"]}, {\"url\": \"https://github.com/apache/airflow/pull/36492\", \"tags\": [\"patch\", \"x_transferred\"]}, {\"url\": \"https://lists.apache.org/thread/89x3q6lz5pykrkr1fkr04k4rfn9pvnv9\", \"tags\": [\"vendor-advisory\", \"x_transferred\"]}, {\"url\": \"http://www.openwall.com/lists/oss-security/2024/01/24/3\", \"tags\": [\"x_transferred\"]}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2024-08-02T22:40:34.203Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2023-51702\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-01-29T16:36:41.716962Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-11-13T15:10:25.280Z\"}}], \"cna\": {\"title\": \"Apache Airflow CNCF Kubernetes provider, Apache Airflow: Kubernetes configuration file saved without encryption in the Metadata and logged as plain text in the Triggerer service\", \"source\": {\"discovery\": \"INTERNAL\"}, \"credits\": [{\"lang\": \"en\", \"type\": \"finder\", \"value\": \"Hussein Awala\"}, {\"lang\": \"en\", \"type\": \"remediation developer\", \"value\": \"Hussein Awala\"}], \"metrics\": [{\"other\": {\"type\": \"Textual description of severity\", \"content\": {\"text\": \"moderate\"}}}], \"affected\": [{\"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\"}], \"references\": [{\"url\": \"https://github.com/apache/airflow/pull/29498\", \"tags\": [\"patch\"]}, {\"url\": \"https://github.com/apache/airflow/pull/30110\", \"tags\": [\"patch\"]}, {\"url\": \"https://github.com/apache/airflow/pull/36492\", \"tags\": [\"patch\"]}, {\"url\": \"https://lists.apache.org/thread/89x3q6lz5pykrkr1fkr04k4rfn9pvnv9\", \"tags\": [\"vendor-advisory\"]}, {\"url\": \"http://www.openwall.com/lists/oss-security/2024/01/24/3\"}], \"x_generator\": {\"engine\": \"Vulnogram 0.1.0-dev\"}, \"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.\", \"supportingMedia\": [{\"type\": \"text/html\", \"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.<br><br>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.\", \"base64\": false}]}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-532\", \"description\": \"CWE-532 Insertion of Sensitive Information into Log File\"}]}, {\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-312\", \"description\": \"CWE-312 Cleartext Storage of Sensitive Information\"}]}], \"providerMetadata\": {\"orgId\": \"f0158376-9dc2-43b6-827c-5f631a4d8d09\", \"shortName\": \"apache\", \"dateUpdated\": \"2024-01-24T13:00:12.306Z\"}}}", cveMetadata: "{\"cveId\": \"CVE-2023-51702\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2025-02-13T17:19:48.602Z\", \"dateReserved\": \"2023-12-21T22:59:06.988Z\", \"assignerOrgId\": \"f0158376-9dc2-43b6-827c-5f631a4d8d09\", \"datePublished\": \"2024-01-24T12:56:17.869Z\", \"assignerShortName\": \"apache\"}", dataType: "CVE_RECORD", dataVersion: "5.1", }, }, }
Log in or create an account to share your comment.
Security Advisory comment format.
This schema specifies the format of a comment related to a security advisory.
Title of the comment
Description of the comment
Loading…
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.