{"id":"CVE-2026-41016","aliases":["EUVD-2026-26359","GHSA-x8mh-94wc-33gv","PYSEC-2026-24"],"status":"published","title":"Apache Airflow Providers SMTP: No certificate validation on SMTP STARTTLS connections in SMTP provider","description":"Apache Airflow's SMTP provider `SmtpHook` called Python's `smtplib.SMTP.starttls()` without an SSL context, so no certificate validation was performed on the TLS upgrade. A man-in-the-middle between the Airflow worker and the SMTP server could present a self-signed certificate, complete the STARTTLS upgrade, and capture the SMTP credentials sent during the subsequent `login()` call. Users are advised to upgrade to the `apache-airflow-providers-smtp` version that contains the fix.","severity":{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"medium","assessor":"adp","from":"cve"},"epss":{"day":"2026-11-09","score":0.00268,"percentile":0.19036,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-295"],"published":"2026-04-30T09:09:45Z","modified":"2026-10-28T02:30:32Z","fixes":[{"ecosystem":"PyPI","package":"apache-airflow-providers-smtp","fixed_in":["3.0.0"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"apache-airflow-providers-smtp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0.0"},{"fixed":"3.0.0"}]}]},{"source":"osv","ecosystem":"PyPI","package":"apache-airflow-providers-smtp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0.0"},{"fixed":"3.0.0"}]}],"versions":["2.0.0","2.0.1","2.0.1rc1","2.0.2","2.0.2rc1","2.0.3","2.0.3rc1","2.1.0","2.1.0rc1","2.1.1","2.1.1rc1","2.1.2","2.1.2rc1","2.2.0","2.2.0rc1","2.2.1","2.2.1rc1","2.3.0","2.3.0rc1","2.3.1","2.3.1rc1","2.3.2","2.3.2rc1","2.4.0","2.4.0rc1","2.4.1","2.4.1rc1","2.4.2","2.4.2rc1","2.4.3","2.4.3rc1","2.4.4","2.4.4rc1","2.4.5","2.4.5rc1","3.0.0rc1"]},{"source":"osv","ecosystem":"PyPI","package":"apache-airflow-providers-smtp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0.0"},{"fixed":"3.0.0"}]}],"versions":["2.0.0","2.0.1","2.0.1rc1","2.0.2","2.0.2rc1","2.0.3","2.0.3rc1","2.1.0","2.1.0rc1","2.1.1","2.1.1rc1","2.1.2","2.1.2rc1","2.2.0","2.2.0rc1","2.2.1","2.2.1rc1","2.3.0","2.3.0rc1","2.3.1","2.3.1rc1","2.3.2","2.3.2rc1","2.4.0","2.4.0rc1","2.4.1","2.4.1rc1","2.4.2","2.4.2rc1","2.4.3","2.4.3rc1","2.4.4","2.4.4rc1","2.4.5","2.4.5rc1","3.0.0rc1"]}],"products":[{"vendor":"apache","product":"airflow"},{"vendor":"apache software foundation","product":"apache airflow providers smtp"}],"references":[{"url":"https://github.com/apache/airflow/pull/65346","tags":["patch","Issue Tracking","Patch","fix","web"]},{"url":"https://lists.apache.org/thread/gb202qy5r31bgdd3d51d7s5o1jh40kc4","tags":["vendor-advisory","Mailing List","Vendor Advisory","advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-41016","tags":["advisory"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow-providers-smtp/PYSEC-2026-24.yaml","tags":["web"]},{"url":"https://github.com/advisories/GHSA-x8mh-94wc-33gv","tags":["advisory"]},{"url":"https://pypi.python.org","tags":["web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/41xxx/CVE-2026-41016.json","tags":["advisory"]},{"url":"https://github.com/apache/airflow","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-41016","title":"Apache Airflow Providers SMTP: No certificate validation on SMTP STARTTLS connections in SMTP provider","description":"Apache Airflow's SMTP provider `SmtpHook` called Python's `smtplib.SMTP.starttls()` without an SSL context, so no certificate validation was performed on the TLS upgrade. A man-in-the-middle between the Airflow worker and the SMTP server could present a self-signed certificate, complete the STARTTLS upgrade, and capture the SMTP credentials sent during the subsequent `login()` call. Users are advised to upgrade to the `apache-airflow-providers-smtp` version that contains the fix.","status":"published","published":"2026-04-30T09:09:45.529Z","modified":"2026-04-30T13:17:14.49Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"medium","assessor":"adp"}],"cwes":["CWE-295"],"updated_at":"2026-11-02T13:41:08.498858Z"}],"euvd":[{"id":"EUVD-2026-26359","description":"Apache Airflow's SMTP provider `SmtpHook` called Python's `smtplib.SMTP.starttls()` without an SSL context, so no certificate validation was performed on the TLS upgrade. A man-in-the-middle between the Airflow worker and the SMTP server could present a self-signed certificate, complete the STARTTLS upgrade, and capture the SMTP credentials sent during the subsequent `login()` call. Users are advised to upgrade to the `apache-airflow-providers-smtp` version that contains the fix.","status":"published","published":"2026-04-30T09:09:45Z","modified":"2026-04-30T13:17:14Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"updated_at":"2026-11-02T19:05:19.116327Z"}],"ghsa":[{"id":"GHSA-x8mh-94wc-33gv","title":"apache-airflow-providers-smtp: No certificate validation on SMTP STARTTLS connections in SMTP provider","description":"Apache Airflow's SMTP provider `SmtpHook` called Python's `smtplib.SMTP.starttls()` without an SSL context, so no certificate validation was performed on the TLS upgrade. A man-in-the-middle between the Airflow worker and the SMTP server could present a self-signed certificate, complete the STARTTLS upgrade, and capture the SMTP credentials sent during the subsequent `login()` call. Users are advised to upgrade to the `apache-airflow-providers-smtp` version that contains the fix.","status":"published","published":"2026-04-30T12:33:11Z","modified":"2026-05-22T13:04:59Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-295"],"updated_at":"2026-11-02T14:40:13.628377Z"}],"nvd":[{"id":"CVE-2026-41016","description":"Apache Airflow's SMTP provider `SmtpHook` called Python's `smtplib.SMTP.starttls()` without an SSL context, so no certificate validation was performed on the TLS upgrade. A man-in-the-middle between the Airflow worker and the SMTP server could present a self-signed certificate, complete the STARTTLS upgrade, and capture the SMTP credentials sent during the subsequent `login()` call. Users are advised to upgrade to the `apache-airflow-providers-smtp` version that contains the fix.","status":"published","published":"2026-04-30T10:16:01.93Z","modified":"2026-10-26T21:10:00.17Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"medium","assessor":"secondary"}],"cwes":["CWE-295"],"updated_at":"2026-11-02T14:12:16.626888Z"}],"osv":[{"id":"CVE-2026-41016","title":"Apache Airflow Providers SMTP: No certificate validation on SMTP STARTTLS connections in SMTP provider","description":"Apache Airflow's SMTP provider `SmtpHook` called Python's `smtplib.SMTP.starttls()` without an SSL context, so no certificate validation was performed on the TLS upgrade. A man-in-the-middle between the Airflow worker and the SMTP server could present a self-signed certificate, complete the STARTTLS upgrade, and capture the SMTP credentials sent during the subsequent `login()` call. Users are advised to upgrade to the `apache-airflow-providers-smtp` version that contains the fix.","status":"published","published":"2026-04-30T09:09:45.529Z","modified":"2026-10-28T02:30:32.211055105Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-295"],"updated_at":"2026-11-02T15:45:03.424067Z"},{"id":"GHSA-x8mh-94wc-33gv","title":"apache-airflow-providers-smtp: No certificate validation on SMTP STARTTLS connections in SMTP provider","description":"Apache Airflow's SMTP provider `SmtpHook` called Python's `smtplib.SMTP.starttls()` without an SSL context, so no certificate validation was performed on the TLS upgrade. A man-in-the-middle between the Airflow worker and the SMTP server could present a self-signed certificate, complete the STARTTLS upgrade, and capture the SMTP credentials sent during the subsequent `login()` call. Users are advised to upgrade to the `apache-airflow-providers-smtp` version that contains the fix.","status":"published","published":"2026-04-30T12:33:11Z","modified":"2026-09-10T03:51:03.971751299Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-295"],"updated_at":"2026-11-02T15:46:59.835583Z"},{"id":"PYSEC-2026-24","description":"Apache Airflow's SMTP provider `SmtpHook` called Python's `smtplib.SMTP.starttls()` without an SSL context, so no certificate validation was performed on the TLS upgrade. A man-in-the-middle between the Airflow worker and the SMTP server could present a self-signed certificate, complete the STARTTLS upgrade, and capture the SMTP credentials sent during the subsequent `login()` call. Users are advised to upgrade to the `apache-airflow-providers-smtp` version that contains the fix.","status":"published","published":"2026-04-30T10:16:01.93Z","modified":"2026-06-10T17:00:18.977806756Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"updated_at":"2026-11-02T15:52:55.961245Z"}]}}
