| タイトル | The Trusted Domain Project OpenDMARC 1.4.2 Improper Authentication |
|---|
| 説明 | OpenDMARC 1.4.2 incorrectly processes ambiguous DMARC policy sets containing multiple valid `v=DMARC1` records at the same `_dmarc` DNS node. Instead of discarding the entire record set as required, `opendmarc_policy_query_dmarc()` selects the first record it can parse and applies that record’s policy.
The selected policy depends on the order in which the DNS records are returned. For example, when both `p=none` and `p=reject` records are published, OpenDMARC may apply `p=none` if that record appears first, even though the presence of multiple DMARC records should make the policy set unusable. It may consequently return `dmarc=pass` or `dmarc=fail` based on an arbitrarily selected record rather than reporting that no valid policy can be applied.
An attacker able to introduce a competing TXT record at the victim’s `_dmarc` node or influence the DNS response order may exploit this behavior to downgrade a strict `p=reject` or `p=quarantine` policy to `p=none`. Forged messages using the victim’s domain may then be accepted by OpenDMARC-based receivers.
OpenDMARC should count the DMARC records remaining after filtering and discard the complete set whenever more than one valid record remains, rather than selecting and enforcing the first record returned. |
|---|
| ソース | ⚠️ https://xuyongzhe-vt.github.io/share/opendmarc-multi-record-downgrade.html |
|---|
| ユーザー | yongzhe_xu (UID 100420) |
|---|
| 送信 | 2026年08月07日 06:13 (2 月 ago) |
|---|
| モデレーション | 2026年09月28日 13:53 (2 months later) |
|---|
| ステータス | 承諾済み |
|---|
| VulDBエントリ | 411037 [Trusted Domain Project OpenDMARC 迄 1.4.2 Multi-Record Set opendmarc_policy_query_dmarc 弱い認証] |
|---|
| ポイント | 20 |
|---|