<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Airflow — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/airflow/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Sun, 10 May 2026 19:46:52 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/airflow/feed.xml" rel="self" type="application/rss+xml"/><item><title>Apache Airflow OpenSearch Provider Credentials Leak via Task Logs (CVE-2026-43826)</title><link>https://feed.craftedsignal.io/briefs/2026-05-airflow-opensearch-creds-leak/</link><pubDate>Sun, 10 May 2026 19:46:52 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-airflow-opensearch-creds-leak/</guid><description>The OpenSearch logging provider in Apache Airflow Providers OpenSearch versions before 1.9.1 wrote host URLs containing embedded credentials into task logs, potentially exposing them to unauthorized users with task-log read permission (CVE-2026-43826).</description><content:encoded><![CDATA[<p>Apache Airflow Providers OpenSearch versions before 1.9.1 are vulnerable to a credentials leak. When configured with a <code>host</code> URL that embeds credentials (e.g., <code>https://user:password@server.example.com:9200</code>), the OpenSearch logging provider writes the full host URL, including the embedded credentials, into task logs. This vulnerability, identified as CVE-2026-43826, allows any user with task-log read permission to potentially harvest the backend credentials, leading to unauthorized access or data breaches. The issue was reported on May 10, 2026, and defenders should prioritize upgrading to version 1.9.1 or later.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An administrator configures the Apache Airflow OpenSearch logging provider.</li>
<li>The administrator includes credentials directly within the <code>host</code> URL of the OpenSearch configuration (e.g., <code>https://user:password@opensearch.example.com:9200</code>).</li>
<li>Airflow executes a task that generates logs.</li>
<li>The OpenSearch logging provider writes the task logs, including the full <code>host</code> URL with embedded credentials, to the Airflow task logs.</li>
<li>A user with read access to the Airflow task logs views the logs through the Airflow UI or API.</li>
<li>The user observes the OpenSearch <code>host</code> URL, which contains the plaintext credentials.</li>
<li>The attacker uses the harvested credentials to access the OpenSearch cluster.</li>
<li>The attacker gains unauthorized access to data stored within the OpenSearch cluster.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability (CVE-2026-43826) allows unauthorized users with task-log read permission to obtain sensitive credentials for the OpenSearch cluster. The impact is significant as it can lead to a complete compromise of the OpenSearch backend, allowing attackers to read, modify, or delete data stored within the cluster. This vulnerability affects all Apache Airflow Providers OpenSearch installations prior to version 1.9.1 that use embedded credentials in the OpenSearch host URL.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade Apache Airflow Providers OpenSearch to version 1.9.1 or later to remediate CVE-2026-43826.</li>
<li>Review and sanitize existing Airflow task logs to remove any instances of embedded credentials.</li>
<li>Avoid embedding credentials directly in the OpenSearch <code>host</code> URL. Use alternative authentication mechanisms such as environment variables or secrets management.</li>
<li>Restrict access to Airflow task logs based on the principle of least privilege.</li>
</ul>
]]></content:encoded><category domain="severity">low</category><category domain="type">advisory</category><category>credential-leak</category><category>airflow</category><category>opensearch</category></item></channel></rss>