CVE-2016-10397
In PHP before 5.6.28 and 7.x before 7.0.13, incorrect handling of various URI components in the...
In PHP before 5.6.28 and 7.x before 7.0.13, incorrect handling of various URI components in the URL parser could be used by attackers to bypass hostname-specific URL checks, as demonstrated by evil.example.com:80#@good.example.com/ and evil.example.com:[email protected]/ inputs to the parse_url function (implemented in the php_url_parse_ex function in ext/standard/url.c).
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
NVD Score used
7.5
In PHP before 5.6.28 and 7.x before 7.0.13, incorrect handling of various URI components in the URL parser could be used by attackers to bypass hostname-specific URL checks, as demonstrated by evil.example.com:80#@good.example.com/ and evil.example.com:[email protected]/ inputs to the parse_url function (implemented in the php_url_parse_ex function in ext/standard/url.c).
- Record
CVE-2016-10397- CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - CVSS 2.0
- 5.0 Medium
AV:N/AC:L/Au:N/C:N/I:P/A:N - Weakness
- CWE-20
- Updated
- 2026-11-02
CVE List No score
In PHP before 5.6.28 and 7.x before 7.0.13, incorrect handling of various URI components in the URL parser could be used by attackers to bypass hostname-specific URL checks, as demonstrated by evil.example.com:80#@good.example.com/ and evil.example.com:[email protected]/ inputs to the parse_url function (implemented in the php_url_parse_ex function in ext/standard/url.c).
- Record
CVE-2016-10397- Updated
- 2026-11-02
EUVDEUVD-2016-1579 No score
In PHP before 5.6.28 and 7.x before 7.0.13, incorrect handling of various URI components in the URL parser could be used by attackers to bypass hostname-specific URL checks, as demonstrated by evil.example.com:80#@good.example.com/ and evil.example.com:[email protected]/ inputs to the parse_url function (implemented in the php_url_parse_ex function in ext/standard/url.c).
- Record
EUVD-2016-1579- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-25h5-rq96-q5mq
7.5
In PHP before 5.6.28 and 7.x before 7.0.13, incorrect handling of various URI components in the...
In PHP before 5.6.28 and 7.x before 7.0.13, incorrect handling of various URI components in the URL parser could be used by attackers to bypass hostname-specific URL checks, as demonstrated by evil.example.com:80#@good.example.com/ and evil.example.com:[email protected]/ inputs to the parse_url function (implemented in the php_url_parse_ex function in ext/standard/url.c).
- Record
GHSA-25h5-rq96-q5mq- CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-20
- Updated
- 2026-11-02
OSVBELL-CVE-2016-10397
7.5
CVE-2016-10397 does not affect BellSoft software
- Record
BELL-CVE-2016-10397- CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSV
7.5
In PHP before 5.6.28 and 7.x before 7.0.13, incorrect handling of various URI components in the URL parser could be used by attackers to bypass hostname-specific URL checks, as demonstrated by evil.example.com:80#@good.example.com/ and evil.example.com:[email protected]/ inputs to the parse_url function (implemented in the php_url_parse_ex function in ext/standard/url.c).
- Record
CVE-2016-10397- CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
Show 5 moreShow less
OSVUBUNTU-CVE-2016-10397
7.5
In PHP before 5.6.28 and 7.x before 7.0.13, incorrect handling of various URI components in the URL parser could be used by attackers to bypass hostname-specific URL checks, as demonstrated by evil.example.com:80#@good.example.com/ and evil.example.com:[email protected]/ inputs to the parse_url function (implemented in the php_url_parse_ex function in ext/standard/url.c).
- Record
UBUNTU-CVE-2016-10397- CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVSUSE-SU-2017:2303-1 No score
Security update for php7
This update for php7 fixes the following issues:
- CVE-2016-10397: parse_url() can be bypassed to return fake host. (bsc#1047454)
- CVE-2017-11142: Remoteattackers could cause a CPU consumption denial of service attack by injectinglong form variables, related to main/php_variables. (bsc#1048100)
- CVE-2017-11144: The opensslextension PEM sealing code did not check the return value of the OpenSSL sealingfunction, which could lead to a crash. (bsc#1048096)
- CVE-2017-11145: Lack of bounds checks in timelib_meridian coud lead to information leak. (bsc#1048112)
- CVE-2017-11146: Lack of bounds checks in timelib_meridian parse code could lead to information leak. (bsc#1048111)
- CVE-2017-11147: The PHAR archive handler could beused by attackers supplying malicious archive files to crash the PHP interpreteror potentially disclose information. (bsc#1048094)
- CVE-2017-11628: Stack-base dbuffer overflow in zend_ini_do_op() could lead to denial of service (bsc#1050726)
- CVE-2017-7890: Buffer over-read from unitialized data in gdImageCreateFromGifCtx function could lead to denial of service (bsc#1050241)
- CVE-2016-5766: Integer Overflow in _gd2GetHeader() resulting in heap overflow could lead to denial of service or code execution (bsc#986386)
Other fixes:
- Soap Request with References (bsc#1053645)
- php7-pear should explicitly require php7-pear-Archive_Tar otherwise this dependency must be declared in every php7-pear-* package explicitly. [bnc#1052389]
- Record
SUSE-SU-2017:2303-1- Updated
- 2026-11-02
OSVSUSE-SU-2017:2317-1 No score
Security update for php5
This update for php5 fixes the following issues:
- CVE-2016-10397: parse_url() can be bypassed to return fake host. (bsc#1047454)
- CVE-2017-11143: An invalid free in the WDDX deserialization of booleanparameters could be used by attackers able to inject XML for deserialization tocrash the PHP interpreter. (bsc#1048097)
- CVE-2017-11144: The opensslextension PEM sealing code did not check the return value of the OpenSSL sealingfunction, which could lead to a crash. (bsc#1048096)
- CVE-2017-11145: Lack of bounds checks in timelib_meridian coud lead to information leak. (bsc#1048112)
- CVE-2017-11146: Lack of bounds checks in timelib_meridian parse code could lead to information leak. (bsc#1048111)
- CVE-2017-11147: The PHAR archive handler could beused by attackers supplying malicious archive files to crash the PHP interpreteror potentially disclose information. (bsc#1048094)
- CVE-2016-5766: Integer Overflow in _gd2GetHeader() resulting could lead to heap overflow (bsc#986386)
- CVE-2017-11628: Stack-base dbuffer overflow in zend_ini_do_op() in Zend/zend_ini_parser.c (bsc#1050726)
- CVE-2017-7890: Buffer over-read from unitialized data in gdImageCreateFromGifCtx function could lead to denial of service (bsc#1050241)
- Record
SUSE-SU-2017:2317-1- Updated
- 2026-11-02
OSVSUSE-SU-2017:2522-1 No score
Security update for php53
This update for php53 fixes the several issues.
These security issues were fixed:
- CVE-2017-12933: The finish_nested_data function in ext/standard/var_unserializer.re was prone to a buffer over-read while unserializing untrusted data. Exploitation of this issue could have had an unspecified impact on the integrity of PHP (bsc#1054430).
- CVE-2017-11628: Stack-based buffer overflow in the zend_ini_do_op() function in Zend/zend_ini_parser.c could have caused a denial of service or potentially allowed executing code (bsc#1050726).
- CVE-2017-7890: The GIF decoding function gdImageCreateFromGifCtx in the GD Graphics Library did not zero colorMap arrays use. A specially crafted GIF image could use the uninitialized tables to read ~700 bytes from the top of the stack, potentially disclosing sensitive information (bsc#1050241).
- CVE-2016-5766: Integer overflow in the _gd2GetHeader in the GD Graphics Library (aka libgd) allowed remote attackers to cause a denial of service (heap-based buffer overflow and application crash) or possibly have unspecified other impact via crafted chunk dimensions in an image (bsc#986386).
- CVE-2017-11145: An error in the date extension's timelib_meridian parsing code could have been used by attackers able to supply date strings to leak information from the interpreter, related to ext/date/lib/parse_date.c out-of-bounds reads affecting the php_parse_date function (bsc#1048112).
- CVE-2017-11146: Lack of bounds checks in timelib_meridian parse code could have lead to information leak [bsc#1048111]
- CVE-2016-10397: Incorrect handling of various URI components in the URL parser could have been used by attackers to bypass hostname-specific URL checks (bsc#1047454).
- CVE-2017-11147: The PHAR archive handler could have been used by attackers supplying malicious archive files to crash the PHP interpreter or potentially disclose information due to a buffer over-read in the phar_parse_pharfile function (bsc#1048094).
- CVE-2017-11144: The openssl extension PEM sealing code did not check the return value of the OpenSSL sealing function, which could have lead to a crash of the PHP interpreter (bsc#1048096).
- Record
SUSE-SU-2017:2522-1- Updated
- 2026-11-02
OSVUSN-3382-1 No score
php5, php7.0 vulnerabilities
It was discovered that the PHP opcache created keys for files it cached based on their filepath. A local attacker could possibly use this issue in a shared hosting environment to obtain sensitive information. This issue only affected Ubuntu 14.04 LTS. (CVE-2015-8994)
It was discovered that the PHP URL parser incorrectly handled certain URI components. A remote attacker could possibly use this issue to bypass hostname-specific URL checks. This issue only affected Ubuntu 14.04 LTS. (CVE-2016-10397)
It was discovered that PHP incorrectly handled certain boolean parameters when unserializing data. A remote attacker could possibly use this issue to cause PHP to crash, resulting in a denial of service. This issue only affected Ubuntu 14.04 LTS. (CVE-2017-11143)
Sebastian Li, Wei Lei, Xie Xiaofei, and Liu Yang discovered that PHP incorrectly handled the OpenSSL sealing function. A remote attacker could possibly use this issue to cause PHP to crash, resulting in a denial of service. (CVE-2017-11144)
Wei Lei and Liu Yang discovered that the PHP date extension incorrectly handled memory. A remote attacker could possibly use this issue to disclose sensitive information from the server. (CVE-2017-11145)
It was discovered that PHP incorrectly handled certain PHAR archives. A remote attacker could use this issue to cause PHP to crash or disclose sensitive information. This issue only affected Ubuntu 14.04 LTS. (CVE-2017-11147)
It was discovered that PHP incorrectly handled locale length. A remote attacker could possibly use this issue to cause PHP to crash, resulting in a denial of service. (CVE-2017-11362)
Wei Lei and Liu Yang discovered that PHP incorrectly handled parsing ini files. An attacker could possibly use this issue to cause PHP to crash, resulting in a denial of service. (CVE-2017-11628)
It was discovered that PHP mbstring incorrectly handled certain regular expressions. A remote attacker could use this issue to cause PHP to crash, resulting in a denial of service, or possibly execute arbitrary code. (CVE-2017-9224, CVE-2017-9226, CVE-2017-9227, CVE-2017-9228, CVE-2017-9229)
- Record
USN-3382-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
php5Debian:7 |
before 5.4.45-0+deb7u9, plus listed versions 5.4.11-15.4.15-15.4.34-0+deb7u15.4.35-0+deb7u15.4.35-0+deb7u2 Show 38 moreShow less5.4.36-0+deb7u15.4.36-0+deb7u35.4.38-0+deb7u15.4.39-0+deb7u15.4.39-0+deb7u25.4.4-145.4.4-14+deb7u15.4.4-14+deb7u105.4.4-14+deb7u115.4.4-14+deb7u125.4.4-14+deb7u135.4.4-14+deb7u145.4.4-14+deb7u25.4.4-14+deb7u35.4.4-14+deb7u45.4.4-14+deb7u55.4.4-14+deb7u75.4.4-14+deb7u85.4.4-14+deb7u95.4.4-155.4.4-15.15.4.41-0+deb7u15.4.44-0+deb7u15.4.45-0+deb7u15.4.45-0+deb7u25.4.45-0+deb7u35.4.45-0+deb7u45.4.45-0+deb7u55.4.45-0+deb7u65.4.45-0+deb7u75.4.45-0+deb7u85.4.6-15.4.6-25.4.8-15.4.9-15.4.9-25.4.9-35.4.9-4 |
5.4.45-0+deb7u9 |
php7SUSE:Linux Enterprise Module for Web and Scripting 12 |
before 7.0.7-50.9.2 | 7.0.7-50.9.2 |
php7SUSE:Linux Enterprise Software Development Kit 12 SP2 |
before 7.0.7-50.9.2 | 7.0.7-50.9.2 |
php7SUSE:Linux Enterprise Software Development Kit 12 SP3 |
before 7.0.7-50.9.2 | 7.0.7-50.9.2 |
php5SUSE:Linux Enterprise Module for Web and Scripting 12 |
before 5.5.14-109.5.1 | 5.5.14-109.5.1 |
php5SUSE:Linux Enterprise Software Development Kit 12 SP2 |
before 5.5.14-109.5.1 | 5.5.14-109.5.1 |
php5SUSE:Linux Enterprise Software Development Kit 12 SP3 |
before 5.5.14-109.5.1 | 5.5.14-109.5.1 |
php53SUSE:Linux Enterprise Software Development Kit 11 SP4 |
before 5.3.17-112.5.1 | 5.3.17-112.5.1 |
php53SUSE:Linux Enterprise Server 11 SP4 |
before 5.3.17-112.5.1 | 5.3.17-112.5.1 |
php53SUSE:Linux Enterprise Server for SAP Applications 11 SP4 |
before 5.3.17-112.5.1 | 5.3.17-112.5.1 |
php5Ubuntu:14.04:LTS |
before 5.5.9+dfsg-1ubuntu4.22, plus listed versions 5.5.3+dfsg-1ubuntu25.5.3+dfsg-1ubuntu35.5.6+dfsg-1ubuntu15.5.6+dfsg-1ubuntu25.5.8+dfsg-2ubuntu1 Show 21 moreShow less5.5.9+dfsg-1ubuntu15.5.9+dfsg-1ubuntu25.5.9+dfsg-1ubuntu35.5.9+dfsg-1ubuntu45.5.9+dfsg-1ubuntu4.15.5.9+dfsg-1ubuntu4.25.5.9+dfsg-1ubuntu4.35.5.9+dfsg-1ubuntu4.45.5.9+dfsg-1ubuntu4.55.5.9+dfsg-1ubuntu4.65.5.9+dfsg-1ubuntu4.75.5.9+dfsg-1ubuntu4.95.5.9+dfsg-1ubuntu4.115.5.9+dfsg-1ubuntu4.125.5.9+dfsg-1ubuntu4.135.5.9+dfsg-1ubuntu4.145.5.9+dfsg-1ubuntu4.165.5.9+dfsg-1ubuntu4.175.5.9+dfsg-1ubuntu4.195.5.9+dfsg-1ubuntu4.205.5.9+dfsg-1ubuntu4.21 |
5.5.9+dfsg-1ubuntu4.22 |
php7.0Ubuntu:16.04:LTS |
before 7.0.22-0ubuntu0.16.04.1, plus listed versions 7.0.1-57.0.1-67.0.2-17.0.2-37.0.2-4 Show 17 moreShow less7.0.2-57.0.3-27.0.3-37.0.3-9ubuntu17.0.4-5ubuntu17.0.4-5ubuntu27.0.4-7ubuntu17.0.4-7ubuntu27.0.4-7ubuntu2.17.0.8-0ubuntu0.16.04.17.0.8-0ubuntu0.16.04.27.0.8-0ubuntu0.16.04.37.0.13-0ubuntu0.16.04.17.0.15-0ubuntu0.16.04.17.0.15-0ubuntu0.16.04.27.0.15-0ubuntu0.16.04.47.0.18-0ubuntu0.16.04.1 |
7.0.22-0ubuntu0.16.04.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2016-10397 is a high vulnerability (CVSS 7.5) in Php, published July 10, 2017. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.91%, the 79th percentile. Fixed in php5 5.4.45-0+deb7u9.
References
openwall.com/lists/oss-security/2017/07/10/6
php.net/ChangeLog-5.php
security.netapp.com/advisory/ntap-20180112-0001
git.php.net?p=php-src.git%3Ba=commit%3Bh=b061fa909de77085d3822a89ab901b934d0362c4
securityfocus.com/bid/99552
php.net/ChangeLog-7.php
Show 49 moreShow less
bugs.php.net/bug.php?id=73192
nvd.nist.gov/vuln/detail/CVE-2016-10397
git.php.net?p=php-src.git;a=commit;h=b061fa909de77085d3822a89ab901b934d0362c4
github.com/advisories/GHSA-25h5-rq96-q5mq
docs.bell-sw.com/security/cves/CVE-2016-10397
suse.com/support/update/announcement/2017/suse-su-20172303-1
bugzilla.suse.com/1047454
bugzilla.suse.com/1048094
bugzilla.suse.com/1048096
bugzilla.suse.com/1048100
bugzilla.suse.com/1048111
bugzilla.suse.com/1048112
bugzilla.suse.com/1050241
bugzilla.suse.com/1050726
bugzilla.suse.com/1052389
bugzilla.suse.com/1053645
bugzilla.suse.com/986386
suse.com/security/cve/CVE-2016-10397
suse.com/security/cve/CVE-2016-5766
suse.com/security/cve/CVE-2017-11142
suse.com/security/cve/CVE-2017-11144
suse.com/security/cve/CVE-2017-11145
suse.com/security/cve/CVE-2017-11146
suse.com/security/cve/CVE-2017-11147
suse.com/security/cve/CVE-2017-11628
suse.com/security/cve/CVE-2017-7890
suse.com/support/update/announcement/2017/suse-su-20172317-1
bugzilla.suse.com/1048097
suse.com/security/cve/CVE-2017-11143
suse.com/support/update/announcement/2017/suse-su-20172522-1
bugzilla.suse.com/1054430
suse.com/security/cve/CVE-2016-10168
suse.com/security/cve/CVE-2017-12933
ubuntu.com/security/CVE-2016-10397
ubuntu.com/security/notices/USN-3382-1
ubuntu.com/security/notices/USN-3382-2
cve.org/CVERecord?id=CVE-2016-10397
ubuntu.com/security/CVE-2015-8994
ubuntu.com/security/CVE-2017-9224
ubuntu.com/security/CVE-2017-9226
ubuntu.com/security/CVE-2017-9227
ubuntu.com/security/CVE-2017-9228
ubuntu.com/security/CVE-2017-9229
ubuntu.com/security/CVE-2017-11143
ubuntu.com/security/CVE-2017-11144
ubuntu.com/security/CVE-2017-11145
ubuntu.com/security/CVE-2017-11147
ubuntu.com/security/CVE-2017-11362
ubuntu.com/security/CVE-2017-11628