The following flaw was found in PHP:
imagegammacorrect accepts two gamma values, if they don't have the same sign then the palette colors will be assigned values bigger than 0xFF, later this values are used to calculate the transparent color using the gdTrueColorAlpha macro, and a negative value will be assigned to the transparent color.
A remote attacker could use this flaw to crash a PHP application.
Upstream bug:
https://bugs.php.net/bug.php?id=72730
Upstream patch:
https://github.com/php/php-src/commit/1bd103df00f49cf4d4ade2cfe3f456ac058a4eae?w=1
Comment 1Huzaifa S. Sidhpurwala
2016-10-20 05:30:00 UTC
Analysis:
In order to exploit this, you need to pass specially crafted values to imagegammacorrect() function, which works on the previously created image object. This implies that the attacker needs to have control over the gamma values being passed to the image, which is an unlikely situation in a normal PHP application.
This issue has been addressed in the following products:
Red Hat Software Collections for Red Hat Enterprise Linux 6
Red Hat Software Collections for Red Hat Enterprise Linux 6.7 EUS
Red Hat Software Collections for Red Hat Enterprise Linux 7
Red Hat Software Collections for Red Hat Enterprise Linux 7.2 EUS
Red Hat Software Collections for Red Hat Enterprise Linux 7.3 EUS
Via RHSA-2016:2750 https://rhn.redhat.com/errata/RHSA-2016-2750.html