{"id":"CVE-2020-12460","aliases":["DEBIAN-CVE-2020-12460","DLA-2639-1","EUVD-2020-4769","GHSA-8c3p-8wh2-8ggf","MGASA-2021-0462","UBUNTU-CVE-2020-12460","USN-6356-1"],"status":"published","title":"OpenDMARC through 1.3.2 and 1.4.x through 1.4.0-Beta1 has improper null termination in the...","description":"OpenDMARC through 1.3.2 and 1.4.x through 1.4.0-Beta1 has improper null termination in the function opendmarc_xml_parse that can result in a one-byte heap overflow in opendmarc_xml when parsing a specially crafted DMARC aggregate report. This can cause remote memory corruption when a '\\0' byte overwrites the heap metadata of the next chunk and its PREV_INUSE flag.","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.03684,"percentile":0.89768,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-787"],"published":"2020-07-27T22:52:35Z","modified":"2026-10-26T12:00:29Z","fixes":[{"ecosystem":"Debian:12","package":"opendmarc","fixed_in":["1.4.0~beta1+dfsg-3"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"opendmarc","fixed_in":["1.4.0~beta1+dfsg-3"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"opendmarc","fixed_in":["1.4.0~beta1+dfsg-3"],"sources":["osv"]},{"ecosystem":"Debian:9","package":"opendmarc","fixed_in":["1.3.2-2+deb9u3"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:16.04:LTS","package":"opendmarc","fixed_in":["1.3.1+dfsg-3ubuntu0.1~esm1"],"sources":["osv"]},{"ecosystem":"Ubuntu:18.04:LTS","package":"opendmarc","fixed_in":["1.3.2-3ubuntu0.2"],"sources":["osv"]},{"ecosystem":"Ubuntu:20.04:LTS","package":"opendmarc","fixed_in":["1.3.2-7ubuntu0.1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Debian:12","package":"opendmarc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.0~beta1+dfsg-3"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"opendmarc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.0~beta1+dfsg-3"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"opendmarc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.0~beta1+dfsg-3"}]}]},{"source":"osv","ecosystem":"Debian:9","package":"opendmarc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.3.2-2+deb9u3"}]}],"versions":["1.3.2-2","1.3.2-2+deb9u1","1.3.2-2+deb9u1~bpo8+1","1.3.2-2+deb9u2"]},{"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"},{"fixed":"1.3.1+dfsg-3ubuntu0.1~esm1"}]}],"versions":["1.3.1+dfsg-2","1.3.1+dfsg-3"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"opendmarc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.3.2-3ubuntu0.2"}]}],"versions":["1.3.2-2","1.3.2-3","1.3.2-3ubuntu0.1"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"opendmarc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.3.2-7ubuntu0.1"}]}],"versions":["1.3.2-6","1.3.2-7"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"opendmarc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.3.1+dfsg-3ubuntu0.1~esm1"}]}],"versions":["1.3.1+dfsg-2","1.3.1+dfsg-3"],"bundled":2},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"opendmarc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.3.2-3ubuntu0.2"}]}],"versions":["1.3.2-2","1.3.2-3","1.3.2-3ubuntu0.1"],"bundled":2},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"opendmarc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.3.2-7ubuntu0.1"}]}],"versions":["1.3.2-6","1.3.2-7"],"bundled":2}],"products":[{"vendor":"debian","product":"debian_linux"},{"vendor":"fedoraproject","product":"fedora"},{"vendor":"trusteddomain","product":"opendmarc"}],"references":[{"url":"https://sourceforge.net/projects/opendmarc/","tags":["x_refsource_MISC","x_transferred","Product","Third Party Advisory","advisory","report"]},{"url":"https://github.com/trusteddomainproject/OpenDMARC/issues/64","tags":["x_refsource_MISC","x_transferred","Exploit","Third Party Advisory","evidence","report"]},{"url":"https://security.gentoo.org/glsa/202011-02","tags":["vendor-advisory","x_refsource_GENTOO","x_transferred","Third Party Advisory","advisory"]},{"url":"https://lists.debian.org/debian-lts-announce/2021/04/msg00026.html","tags":["mailing-list","x_refsource_MLIST","x_transferred","Mailing List","Third Party Advisory","advisory"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/JHDKMCZGE3W4XBP76NLI2Q7IOZHXLD4A/","tags":["vendor-advisory","x_refsource_FEDORA","x_transferred","web"]},{"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-2020-12460"},{"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/JHDKMCZGE3W4XBP76NLI2Q7IOZHXLD4A/"},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/KBOGOQOK3TIWWJV66MW5YWNRJAFFYGR5/"},{"url":"https://github.com/advisories/GHSA-8c3p-8wh2-8ggf"},{"url":"https://security-tracker.debian.org/tracker/CVE-2020-12460","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-2020-12460","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-6356-1","tags":["advisory"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2020-12460","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2020-12272","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2020-12460","description":"OpenDMARC through 1.3.2 and 1.4.x through 1.4.0-Beta1 has improper null termination in the function opendmarc_xml_parse that can result in a one-byte heap overflow in opendmarc_xml when parsing a specially crafted DMARC aggregate report. This can cause remote memory corruption when a '\\0' byte overwrites the heap metadata of the next chunk and its PREV_INUSE flag.","status":"published","published":"2020-07-27T22:52:35Z","modified":"2024-08-04T11:56:52.076Z","updated_at":"2026-11-02T14:35:52.925152Z"}],"euvd":[{"id":"EUVD-2020-4769","description":"OpenDMARC through 1.3.2 and 1.4.x through 1.4.0-Beta1 has improper null termination in the function opendmarc_xml_parse that can result in a one-byte heap overflow in opendmarc_xml when parsing a specially crafted DMARC aggregate report. This can cause remote memory corruption when a '\\0' byte overwrites the heap metadata of the next chunk and its PREV_INUSE flag.","status":"published","published":"2020-07-27T22:52:35Z","modified":"2024-08-04T11:56:52Z","updated_at":"2026-11-03T03:07:39.896975Z"}],"ghsa":[{"id":"GHSA-8c3p-8wh2-8ggf","title":"OpenDMARC through 1.3.2 and 1.4.x through 1.4.0-Beta1 has improper null termination in the...","description":"OpenDMARC through 1.3.2 and 1.4.x through 1.4.0-Beta1 has improper null termination in the function opendmarc_xml_parse that can result in a one-byte heap overflow in opendmarc_xml when parsing a specially crafted DMARC aggregate report. This can cause remote memory corruption when a '\\0' byte overwrites the heap metadata of the next chunk and its PREV_INUSE flag.","status":"published","published":"2022-05-24T17:24:25Z","modified":"2023-02-01T05:03:57Z","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-787"],"updated_at":"2026-11-02T14:50:07.322817Z"}],"nvd":[{"id":"CVE-2020-12460","description":"OpenDMARC through 1.3.2 and 1.4.x through 1.4.0-Beta1 has improper null termination in the function opendmarc_xml_parse that can result in a one-byte heap overflow in opendmarc_xml when parsing a specially crafted DMARC aggregate report. This can cause remote memory corruption when a '\\0' byte overwrites the heap metadata of the next chunk and its PREV_INUSE flag.","status":"published","published":"2020-07-27T23:15:12.373Z","modified":"2026-06-17T02:51:51.097Z","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":7.5,"vector":"AV:N/AC:L/Au:N/C:P/I:P/A:P","level":"high","assessor":"primary"}],"cwes":["CWE-787"],"updated_at":"2026-11-02T14:06:10.086163Z"}],"osv":[{"id":"CVE-2020-12460","description":"OpenDMARC through 1.3.2 and 1.4.x through 1.4.0-Beta1 has improper null termination in the function opendmarc_xml_parse that can result in a one-byte heap overflow in opendmarc_xml when parsing a specially crafted DMARC aggregate report. This can cause remote memory corruption when a '\\0' byte overwrites the heap metadata of the next chunk and its PREV_INUSE flag.","status":"published","published":"2020-07-27T23:15:12.373Z","modified":"2026-10-20T10:51:06.126913449Z","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:14.034736Z"},{"id":"DEBIAN-CVE-2020-12460","description":"OpenDMARC through 1.3.2 and 1.4.x through 1.4.0-Beta1 has improper null termination in the function opendmarc_xml_parse that can result in a one-byte heap overflow in opendmarc_xml when parsing a specially crafted DMARC aggregate report. This can cause remote memory corruption when a '\\0' byte overwrites the heap metadata of the next chunk and its PREV_INUSE flag.","status":"published","published":"2020-07-27T23:15:12.373Z","modified":"2026-10-26T12:00:29.515599938Z","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.862554Z"},{"id":"UBUNTU-CVE-2020-12460","description":"OpenDMARC through 1.3.2 and 1.4.x through 1.4.0-Beta1 has improper null termination in the function opendmarc_xml_parse that can result in a one-byte heap overflow in opendmarc_xml when parsing a specially crafted DMARC aggregate report. This can cause remote memory corruption when a '\\0' byte overwrites the heap metadata of the next chunk and its PREV_INUSE flag.","status":"published","published":"2020-07-27T23:15:00Z","modified":"2026-04-22T12:27:43.563124Z","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:22.804634Z"},{"id":"DLA-2639-1","title":"opendmarc - security update","status":"published","published":"2021-04-25T00:00:00Z","modified":"2026-03-09T01:21:48.545877Z","updated_at":"2026-11-02T15:46:10.712745Z"},{"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"},{"id":"USN-6356-1","title":"opendmarc vulnerabilities","description":"Jianjun Chen, Vern Paxson and Jian Jiang discovered that OpenDMARC\nincorrectly handled certain inputs. If a user or an automated system were\ntricked into receiving crafted inputs, an attacker could possibly use this\nto falsify the domain of an e-mails origin. (CVE-2020-12272)\n\nPatrik Lantz discovered that OpenDMARC incorrectly handled certain inputs.\nIf a user or an automated system were tricked into opening a specially\ncrafted input file, a remote attacker could possibly use this issue to\ncause a denial of service. (CVE-2020-12460)\n","status":"published","published":"2023-09-11T12:47:12Z","modified":"2026-06-25T13:32:18.792044293Z","updated_at":"2026-11-02T16:58:17.305935Z"}]}}
