J-Security Center

Title: FreeBSD getnameinfo() Denial of Service Vulnerability

Severity: HIGH

Description:

The getnameinfo() function is used by network programs to retrieve the resolved names for the address and port values in socket address structures (it returns hostname and service name strings). The implementation of this fuction that ships with BSD systems contains an off-by-one vulnerability that can lead to a remotely caused denial of service. If a malicious user controlling the victims DNS server has the service return an "extra long" hostname in response to a query made through the use of getnameinfo(), the program calling the function will crash. This attack can be used to disable a "one time" service not spawned by inetd that uses getnameinfo() before forking any children to deal with clients.

Affected Products:

  • FreeBSD FreeBSD 4.0.0
  • FreeBSD FreeBSD 4.0.0 alpha
  • FreeBSD FreeBSD 4.1.0
  • FreeBSD FreeBSD 4.1.1
  • FreeBSD FreeBSD 4.1.1 -RELEASE

References:

Juniper Networks provides this content via a wide variety of sources and production methods. If notified of errors or omissions in the content of this page, Juniper Networks, at its discretion, will modify or remove the page or leave the content as is, depending on various factors including but not limited to the reputation and authority of the party providing the notification. Please use the contact information displayed elsewhere on this page to report any errors or omissions regarding the content on this page.