Headline
GHSA-xffp-6w68-4775: Zendframework Remote Address Spoofing Vector in `Zend\Http\PhpEnvironment\RemoteAddress`
The Zend\Http\PhpEnvironment\RemoteAddress
class provides features around detecting the internet protocol (IP) address for an incoming proxied request via the X-Forwarded-For header, taking into account a provided list of trusted proxy server IPs. Prior to 2.2.5, the class was not taking into account whether or not the IP address contained in PHP’s $_SERVER['REMOTE_ADDR']
was in the trusted proxy server list.
The IETF draft specification indicates that if $_SERVER['REMOTE_ADDR']
is not a trusted proxy, it must be considered the originating IP address, and the value of X-Forwarded-For must be disregarded.
Package
composer zendframework/zendframework (Composer)
Affected versions
>= 2.2.0, < 2.2.5
Patched versions
2.2.5
Description
The Zend\Http\PhpEnvironment\RemoteAddress class provides features around detecting the internet protocol (IP) address for an incoming proxied request via the X-Forwarded-For header, taking into account a provided list of trusted proxy server IPs. Prior to 2.2.5, the class was not taking into account whether or not the IP address contained in PHP’s $_SERVER[‘REMOTE_ADDR’] was in the trusted proxy server list.
The IETF draft specification indicates that if $_SERVER[‘REMOTE_ADDR’] is not a trusted proxy, it must be considered the originating IP address, and the value of X-Forwarded-For must be disregarded.
References
- zendframework/zendframework@bb67844
- https://framework.zend.com/security/advisory/ZF2013-04
- https://github.com/FriendsOfPHP/security-advisories/blob/master/zendframework/zendframework/ZF2013-04.yaml
Published to the GitHub Advisory Database
Jun 7, 2024
Reviewed
Jun 7, 2024
Last updated
Jun 7, 2024