<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Vulnerability Spoiler Alert - apache/airflow</title>
    <link>https://spaceraccoon.github.io/vulnerability-spoiler-alert</link>
    <description>Vulnerability alerts for apache/airflow</description>
    <language>en-us</language>
    <lastBuildDate>Tue, 11 Aug 2026 21:01:38 GMT</lastBuildDate>
    <atom:link href="https://spaceraccoon.github.io/vulnerability-spoiler-alert/feed/apache-airflow.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>[MEDIUM] Denial of Service (Uncontrolled Resource Consumption) in apache/airflow</title>
      <link>https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/406</link>
      <guid isPermaLink="true">https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/406</guid>
      <pubDate>Tue, 11 Aug 2026 11:55:40 GMT</pubDate>
      <description>The Calendar view endpoint computes planned runs for cron-based timetables by iterating croniter until the year boundary with no upper bound, unlike the generic timetable path which caps at MAX_PLANNED_RUNS. Any authenticated user with Dag read access can create/view a Dag with a high-frequency cron schedule (e.g., a seconds-resolution cron) and trigger minutes of CPU consumption per request just by opening the Calendar tab, allowing them to pin/exhaust an API server worker with minimal effort.</description>
      <category>medium</category>
      <category>unverified</category>
      
    </item>
    <item>
      <title>[HIGH] Deserialization of Untrusted Data / Arbitrary Code Import in apache/airflow</title>
      <link>https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/370</link>
      <guid isPermaLink="true">https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/370</guid>
      <pubDate>Wed, 05 Aug 2026 04:33:16 GMT</pubDate>
      <description>The BaseSerialization.deserialize method used import_string() on an attacker-controlled class name embedded in serialized DAG blobs (AIRFLOW_EXC_SER/BASE_EXC_SER nodes) to reconstruct exception objects. Because import_string will import arbitrary modules and access arbitrary attributes by dotted name, a crafted serialized DAG could cause the deserializer to import and execute code from any importable module (including modules with import-time side effects, or builtins like eval/os.system), leading to code execution or unintended behavior when a malicious/tampered serialized DAG is loaded. The patch restricts resolution to already-loaded classes validated as AirflowException subclasses or a fixed builtin allow-list, preventing import of attacker-named modules/classes.</description>
      <category>high</category>
      <category>verified</category>
      
    </item>
    <item>
      <title>[MEDIUM] Sensitive Information Disclosure in apache/airflow</title>
      <link>https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/359</link>
      <guid isPermaLink="true">https://github.com/spaceraccoon/vulnerability-spoiler-alert/issues/359</guid>
      <pubDate>Tue, 04 Aug 2026 14:14:14 GMT</pubDate>
      <description>Configuration options registered as sensitive (like database connection strings with passwords) were only masked when queried under their base section name. Team-scoped overrides stored in `\[&amp;lt;team&amp;gt;=&amp;lt;section&amp;gt;\]` config sections or `AIRFLOW__&amp;lt;TEAM&amp;gt;___&amp;lt;SECTION&amp;gt;__&amp;lt;KEY&amp;gt;` environment variables bypassed the sensitivity check entirely, exposing secrets like database credentials in clear text via the config API and `as_dict()` output.</description>
      <category>medium</category>
      <category>verified</category>
      
    </item>
  </channel>
</rss>