Executive brief
Net::DNS is a widely used Perl library for performing DNS lookups and managing DNS packets. A security flaw in how the library handles specific error messages (EDNS Extended Errors) allows an attacker to execute malicious commands on the system running the software. This could lead to a full system compromise, data theft, or service disruption.
Technical details
The vulnerability exists in the Net::DNS::RR::OPT::EXTENDED_ERROR::_decompose function. When parsing the EXTRA-TEXT field of an EDNS EXTENDED-ERROR option (RFC 8914), the library tokenizes raw bytes and passes them to Perl's eval() function. While the code attempts to escape '