A maliciously crafted zone file could use a WKS record to consume excessive memory and CPU, possibly causing the process to exit due to memory exhaustion.
The from_text() parser does not check that a WKS record service number is between 0 and 65535 inclusive. It then uses this number to resize the bitmap to accommodate a bit with that offset. This can cause extremely large memory allocations, and also extends the array very inefficiently, wasting CPU.
This demonstrates the failure to limit the service number, though with a value that does not cause excessive memory or CPU consumption.
rd = dns.rdata.from_text("IN", "WKS", "10.0.0.1 udp 65536")
If dnspython is used to read zonefile format where the attacker can control the type and rdata text, the program may consume excessive memory or CPU, denying service.
{
"cwe_ids": [
"CWE-400",
"CWE-770"
],
"github_reviewed": true,
"github_reviewed_at": "2026-11-13T20:19:13Z",
"nvd_published_at": null,
"severity": "HIGH"
}