Cuong Manh Le
7f3d332b64
cmd/cli: discard upstream answers whose question mismatches the request
...
Defense in depth against cache poisoning: a compromised or misbehaving
upstream can return an answer for a different name than was asked (e.g.
records for attacker.example in response to a query for victim.example).
Such an answer would be cached under the legitimate request key and
served to subsequent queries.
Validate that the upstream answer echoes the request's question
(case-insensitive name plus Qtype/Qclass, per RFC 1035 section 4.1.2)
before serving or caching it. A mismatch is logged at debug level and
the upstream is skipped, failing safe to the next upstream or SERVFAIL.
Refs github.com/Control-D-Inc/ctrld/issues/322
2026-07-14 23:20:51 +07:00
..
2024-02-07 14:40:18 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:19 +07:00
2026-04-30 19:19:19 +07:00
2025-02-18 20:25:13 +07:00
2026-07-13 21:50:02 +07:00
2024-08-07 15:51:11 +07:00
2026-07-14 23:20:27 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:19 +07:00
2026-07-08 15:31:54 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2026-07-14 23:20:27 +07:00
2026-07-14 23:20:27 +07:00
2026-04-30 19:19:18 +07:00
2026-07-14 23:20:27 +07:00
2026-07-14 23:20:27 +07:00
2026-07-14 23:20:27 +07:00
2026-04-30 19:19:18 +07:00
2026-07-14 23:20:27 +07:00
2026-04-30 19:19:19 +07:00
2023-08-15 18:22:38 +07:00
2026-05-12 12:42:07 +07:00
2026-07-13 21:50:02 +07:00
2026-07-09 16:41:55 +07:00
2026-05-07 19:37:42 +07:00
2026-07-13 20:18:26 +07:00
2026-07-14 23:20:51 +07:00
2026-07-14 23:20:51 +07:00
2026-07-08 15:31:54 +07:00
2026-07-08 15:31:54 +07:00
2026-07-08 15:31:54 +07:00
2026-07-08 15:31:54 +07:00
2026-07-08 15:31:54 +07:00
2024-10-24 13:05:48 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:19 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:19 +07:00
2026-04-30 19:19:19 +07:00
2026-04-30 19:30:43 +07:00
2023-12-13 14:53:29 +07:00
2026-04-30 19:19:18 +07:00
2026-07-08 15:31:54 +07:00
2026-07-14 23:20:27 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2025-02-18 20:25:13 +07:00
2026-07-13 20:18:26 +07:00
2026-07-13 20:18:26 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2023-08-15 18:22:38 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2024-05-09 18:39:30 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2026-07-09 16:41:55 +07:00
2026-04-30 19:19:18 +07:00
2026-07-14 23:20:27 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2025-05-15 17:00:59 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2025-03-26 23:18:36 +07:00
2025-03-26 23:18:36 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:19 +07:00
2026-04-30 19:19:19 +07:00
2026-04-30 19:19:19 +07:00
2026-04-30 19:19:18 +07:00
2025-03-26 23:18:04 +07:00
2026-04-30 19:19:18 +07:00
2026-04-30 19:19:18 +07:00
2026-07-14 23:20:27 +07:00
2026-07-09 16:41:55 +07:00
2026-07-09 16:41:55 +07:00
2026-07-09 16:25:47 +07:00
2024-02-07 14:40:18 +07:00