Description
OpenResty lua-resty-dns before 0.24 contains an improper input validation vulnerability in parse_section() and _decode_name() that fails to check resource record lengths against the received message. Attackers controlling or spoofing a queried nameserver can send truncated record headers or RDATA, raising uncaught Lua exceptions in resolver:query() that abort requests and break name resolution.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
openresty lua-resty-dns
Default version status: unaffected
0 to < 0.24affected
References
- https://github.com/openresty/lua-resty-dns/pull/83 ↗
- https://github.com/openresty/lua-resty-dns/commit/b68eaecbf7997ac71c08ba56032b1f45438bd758 ↗
- https://github.com/openresty/lua-resty-dns/blob/v0.23/lib/resty/dns/resolver.lua#L396-L442 ↗
- https://github.com/openresty/lua-resty-dns/tree/v0.24 ↗
- https://www.vulncheck.com/advisories/openresty-lua-resty-dns-before-0.24-denial-of-service-via-dns-response-parsing ↗