CVE-2016-10739: Input Validation

Published Apr 28, 2016
·
Updated

For historic reasons, inetaddr and inetaton accept trailing garbage. Some parsers rely on this (for example, libresolv when it parses “nameserver” directives in /etc/resolv.conf).

This causes problems because some applications assume that a successful parse as an IPv4 address means that the string consists of just an IPv4 address, and nothing more.

Glibc should add a check for trailing garbage and relegate the old behavior to a compatibility symbol.

For backporting, glibc should just fix getaddrinfo (and related functions if necessary) so that they will not accept trailing garbage.

Upstream bug : https://sourceware.org/bugzilla/showbug.cgi?id=20018

Additional note : When used in combination with flaw described in CVE-2016-5699, an attacker could direct an HTTP connection to a malicious server, using the following combined issues:

Python's httplib does not validate HTTP header values. A malicious 'Host' header with quoted new lines can inject additional headers and more glibc's getaddrinfo() ignores new lines and everything after a new line character when the first part looks like a IPv4 address

See the following blog post for additional information: http://blog.blindspotsecurity.com/2016/06/advisory-http-header-injection-in.html

Other sources

In the GNU C Library (aka glibc or libc6) through 2.28, the getaddrinfo function would successfully parse a string that contained an IPv4 address followed by whitespace and arbitrary characters, which could lead applications to incorrectly assume that it had parsed a valid string, without the possibility of embedded HTTP headers or other potentially dangerous substrings.

Affected Software

5 affected componentsFixes available
redhat/glibc<0:2.17-292.el7
0:2.17-292.el7
redhat/glibc<0:2.28-72.el8
0:2.28-72.el8
redhat/glibc<2.29
2.29
GNU glibc<=2.28
openSUSE Leap=15.0

Event History

Apr 28, 2016
CVE Published
12:00 AM
Jan 21, 2019
CVE Published
via MITRE·07:00 PM
Data Sourced
via MITRE·07:00 PM
Description

Parent advisories

This vulnerability appears in the following advisories.

Frequently Asked Questions

1

What is the severity of CVE-2016-10739?

CVE-2016-10739 has a medium severity rating due to potential for address parsing issues affecting applications.

2

How do I fix CVE-2016-10739?

To fix CVE-2016-10739, ensure that you upgrade to glibc versions 0:2.17-292.el7, 0:2.28-72.el8, or 2.29.

3

What systems are affected by CVE-2016-10739?

CVE-2016-10739 affects systems using glibc, specifically certain versions on Red Hat and openSUSE.

4

What kind of vulnerability is CVE-2016-10739?

CVE-2016-10739 is a vulnerability related to the improper handling of trailing garbage in IPv4 address parsing.

5

Can CVE-2016-10739 lead to security exploitation?

Yes, CVE-2016-10739 can potentially lead to security exploitation if applications incorrectly trust parsed input as valid.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203