{"id":"CVE-2019-20790","aliases":["DEBIAN-CVE-2019-20790","EUVD-2019-11327","GHSA-6pph-69rg-fpw6","MGASA-2021-0462","UBUNTU-CVE-2019-20790"],"status":"published","title":"OpenDMARC through 1.3.2 and 1.4.x, when used with pypolicyd-spf 2.0.2, allows attacks that bypass...","description":"OpenDMARC through 1.3.2 and 1.4.x, when used with pypolicyd-spf 2.0.2, allows attacks that bypass SPF and DMARC authentication in situations where the HELO field is inconsistent with the MAIL FROM field.","severity":{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-09","score":0.0245,"percentile":0.84494,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-290"],"published":"2020-04-27T14:00:46Z","modified":"2026-10-24T10:30:37Z","fixes":[{"ecosystem":"Debian:12","package":"opendmarc","fixed_in":["1.4.0~beta1+dfsg-4"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"opendmarc","fixed_in":["1.4.0~beta1+dfsg-4"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"opendmarc","fixed_in":["1.4.0~beta1+dfsg-4"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Debian:12","package":"opendmarc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.0~beta1+dfsg-4"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"opendmarc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.0~beta1+dfsg-4"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"opendmarc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.0~beta1+dfsg-4"}]}]},{"source":"osv","ecosystem":"Mageia:8","package":"opendmarc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.1.1-1.mga8"}]}],"bundled":3},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"opendmarc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.3.1+dfsg-2","1.3.1+dfsg-3","1.3.1+dfsg-3ubuntu0.1~esm1"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"opendmarc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.3.2-2","1.3.2-3","1.3.2-3ubuntu0.1","1.3.2-3ubuntu0.2"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"opendmarc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.3.2-6","1.3.2-7","1.3.2-7ubuntu0.1"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"opendmarc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.4.0~beta1+dfsg-6","1.4.1.1-1","1.4.1.1-2","1.4.2-1"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"opendmarc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.4.2-3","1.4.2-4","1.4.2-4.1build1","1.4.2-4.1build2"]},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"opendmarc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.4.2-5","1.4.2-5.1"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"opendmarc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.4.2-5.1build1"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"opendmarc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.4.2-5.1","1.4.2-5.1build1"]}],"products":[{"vendor":"fedoraproject","product":"fedora"},{"vendor":"pypolicyd-spf_project","product":"pypolicyd-spf"},{"vendor":"trusteddomain","product":"opendmarc"}],"references":[{"url":"https://www.usenix.org/system/files/sec20fall_chen-jianjun_prepub_0.pdf","tags":["x_refsource_MISC","x_transferred","Technical Description","Third Party Advisory","advisory","report"]},{"url":"https://sourceforge.net/p/opendmarc/tickets/235/","tags":["x_refsource_MISC","x_transferred","Exploit","Third Party Advisory","evidence","report"]},{"url":"https://bugs.launchpad.net/pypolicyd-spf/+bug/1838816","tags":["x_refsource_MISC","x_transferred","Exploit","Third Party Advisory","evidence","report"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/2D4JGHMALEJEWWG56DKR5OZB22TK7W5B/","tags":["vendor-advisory","x_refsource_FEDORA","x_transferred","web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/KBOGOQOK3TIWWJV66MW5YWNRJAFFYGR5/","tags":["vendor-advisory","x_refsource_FEDORA","x_transferred","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2019-20790"},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/2D4JGHMALEJEWWG56DKR5OZB22TK7W5B/"},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/KBOGOQOK3TIWWJV66MW5YWNRJAFFYGR5/"},{"url":"https://github.com/advisories/GHSA-6pph-69rg-fpw6"},{"url":"https://security-tracker.debian.org/tracker/CVE-2019-20790","tags":["advisory"]},{"url":"https://advisories.mageia.org/MGASA-2021-0462.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=29035","tags":["report"]},{"url":"https://github.com/trusteddomainproject/OpenDMARC/issues/111","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2019-20790","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2019-20790","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2019-20790","description":"OpenDMARC through 1.3.2 and 1.4.x, when used with pypolicyd-spf 2.0.2, allows attacks that bypass SPF and DMARC authentication in situations where the HELO field is inconsistent with the MAIL FROM field.","status":"published","published":"2020-04-27T14:00:46Z","modified":"2024-08-05T02:53:09.236Z","updated_at":"2026-11-02T14:20:17.431882Z"}],"euvd":[{"id":"EUVD-2019-11327","description":"OpenDMARC through 1.3.2 and 1.4.x, when used with pypolicyd-spf 2.0.2, allows attacks that bypass SPF and DMARC authentication in situations where the HELO field is inconsistent with the MAIL FROM field.","status":"published","published":"2020-04-27T14:00:46Z","modified":"2024-08-05T02:53:09Z","updated_at":"2026-11-03T02:40:20.727542Z"}],"ghsa":[{"id":"GHSA-6pph-69rg-fpw6","title":"OpenDMARC through 1.3.2 and 1.4.x, when used with pypolicyd-spf 2.0.2, allows attacks that bypass...","description":"OpenDMARC through 1.3.2 and 1.4.x, when used with pypolicyd-spf 2.0.2, allows attacks that bypass SPF and DMARC authentication in situations where the HELO field is inconsistent with the MAIL FROM field.","status":"published","published":"2022-05-24T17:16:33Z","modified":"2023-01-28T05:02:52Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-290"],"updated_at":"2026-11-02T14:43:51.685777Z"}],"nvd":[{"id":"CVE-2019-20790","description":"OpenDMARC through 1.3.2 and 1.4.x, when used with pypolicyd-spf 2.0.2, allows attacks that bypass SPF and DMARC authentication in situations where the HELO field is inconsistent with the MAIL FROM field.","status":"published","published":"2020-04-27T14:15:11.127Z","modified":"2026-06-17T02:31:12.06Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary"},{"version":"2.0","score":6.8,"vector":"AV:N/AC:M/Au:N/C:P/I:P/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-290"],"updated_at":"2026-11-02T14:05:46.451008Z"}],"osv":[{"id":"CVE-2019-20790","description":"OpenDMARC through 1.3.2 and 1.4.x, when used with pypolicyd-spf 2.0.2, allows attacks that bypass SPF and DMARC authentication in situations where the HELO field is inconsistent with the MAIL FROM field.","status":"published","published":"2020-04-27T14:15:11.127Z","modified":"2026-10-24T10:30:37.425952278Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:44:12.010761Z"},{"id":"DEBIAN-CVE-2019-20790","description":"OpenDMARC through 1.3.2 and 1.4.x, when used with pypolicyd-spf 2.0.2, allows attacks that bypass SPF and DMARC authentication in situations where the HELO field is inconsistent with the MAIL FROM field.","status":"published","published":"2020-04-27T14:15:11.127Z","modified":"2026-09-21T07:03:17.664091922Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:45:32.221385Z"},{"id":"UBUNTU-CVE-2019-20790","description":"OpenDMARC through 1.3.2 and 1.4.x, when used with pypolicyd-spf 2.0.2, allows attacks that bypass SPF and DMARC authentication in situations where the HELO field is inconsistent with the MAIL FROM field.","status":"published","published":"2020-04-27T14:15:00Z","modified":"2026-10-17T12:56:07.590754406Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:54:21.213407Z"},{"id":"MGASA-2021-0462","title":"Updated opendmarc packages fix security vulnerability","description":"OpenDMARC through 1.3.2 and 1.4.x, when used with pypolicyd-spf 2.0.2, allows\nattacks that bypass SPF and DMARC authentication in situations where the HELO\nfield is inconsistent with the MAIL FROM field (CVE-2019-20790).\n\nOpenDMARC through 1.3.2 and 1.4.x allows attacks that inject authentication\nresults to provide false information about the domain that originated an e-mail\nmessage. This is caused by incorrect parsing and interpretation of SPF/DKIM\nauthentication results, as demonstrated by the example.net(.example.com\nsubstring (CVE-2020-12272).\n\nOpenDMARC through 1.3.2 and 1.4.x through 1.4.0-Beta1 has improper null\ntermination in the function opendmarc_xml_parse that can result in a one-byte\nheap overflow in opendmarc_xml when parsing a specially crafted DMARC aggregate\nreport. This can cause remote memory corruption when a '\\0' byte overwrites the\nheap metadata of the next chunk and its PREV_INUSE flag (CVE-2020-12460).\n","status":"published","published":"2021-10-06T19:41:56Z","modified":"2026-04-16T04:44:31.798800712Z","updated_at":"2026-11-02T15:49:41.849028Z"}]}}
