Bug 1128889 - (CVE-2019-9638) VUL-1: CVE-2019-9638: php5,php72,php7,php53: Uninitialized read in exif_process_IFD_in_MAKERNOTE
(CVE-2019-9638)
VUL-1: CVE-2019-9638: php5,php72,php7,php53: Uninitialized read in exif_proc...
Status: NEW
Classification: Novell Products
Product: SUSE Security Incidents
Classification: Novell Products
Component: Incidents
unspecified
Other Other
: P4 - Low : Minor
: ---
Assigned To: Security Team bot
Security Team bot
https://smash.suse.de/issue/225994/
CVSSv3:SUSE:CVE-2019-9638:5.3:(AV:N/A...
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2019-03-12 12:11 UTC by Karol Babioch
Modified: 2021-09-14 12:49 UTC (History)
3 users (show)

See Also:
Found By: Security Response Team
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
CVE-2019-9638.jpg (63 bytes, image/jpeg)
2019-04-23 15:21 UTC, Marcus Meissner
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Karol Babioch 2019-03-12 12:11:10 UTC
CVE-2019-9638

Multiple security issues were found in PHP, a widely-used open source
general purpose scripting language: The EXIF extension had multiple cases
of invalid memory access and rename() was implemented insecurely.
For the stable distribution (stretch), this problem has been fixed in
version 7.0.33-0+deb9u3.
We recommend that you upgrade your php7.0 packages.
For the detailed security status of php7.0 please refer to
its security tracker page at:
\
https://security-tracker.debian.org/tracker/php7.0

References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-9638
http://www.debian.org/security/2019/dsa-4403
Comment 1 Karol Babioch 2019-03-12 12:11:20 UTC
Upstream bug: https://bugs.php.net/bug.php?id=77563
Comment 2 Petr Gajdos 2019-03-19 14:10:26 UTC
BEFORE

15/php7, 12/php7

$  USE_ZEND_ALLOC=0 valgrind  -q php test.php
[.. unrelated uninitialized conditional jumps ..]
==14804== Conditional jump or move depends on uninitialised value(s)
==14804==    at 0x6F5FD3F: exif_process_IFD_in_MAKERNOTE.isra.13 (exif.c:2788)
==14804==    by 0x6F61F0F: exif_process_IFD_TAG (exif.c:3075)
==14804==    by 0x6F61F0F: exif_process_IFD_in_JPEG (exif.c:3157)
==14804==    by 0x6F64B10: exif_process_TIFF_in_JPEG (exif.c:3242)
==14804==    by 0x6F64B10: exif_process_APP1 (exif.c:3267)
==14804==    by 0x6F64B10: exif_scan_JPEG_header (exif.c:3412)
==14804==    by 0x6F64B10: exif_scan_FILE_header (exif.c:3797)
==14804==    by 0x6F64B10: exif_read_file.constprop.15 (exif.c:3939)
==14804==    by 0x6F64D0B: zif_exif_thumbnail (exif.c:4144)
==14804==    by 0x3E32BC: ZEND_DO_ICALL_SPEC_HANDLER (zend_vm_execute.h:586)
==14804==    by 0x3D5FAA: execute_ex (zend_vm_execute.h:414)
==14804==    by 0x431FE2: zend_execute (zend_vm_execute.h:458)
==14804==    by 0x392E8F: zend_execute_scripts (zend.c:1427)
==14804==    by 0x32B28F: php_execute_script (main.c:2494)
==14804==    by 0x433D87: do_cli (php_cli.c:974)
==14804==    by 0x1DE05A: main (php_cli.c:1344)
==14804== 
==14804== Conditional jump or move depends on uninitialised value(s)
==14804==    at 0x6F5FD48: exif_process_IFD_in_MAKERNOTE.isra.13 (exif.c:2793)
==14804==    by 0x6F61F0F: exif_process_IFD_TAG (exif.c:3075)
==14804==    by 0x6F61F0F: exif_process_IFD_in_JPEG (exif.c:3157)
==14804==    by 0x6F64B10: exif_process_TIFF_in_JPEG (exif.c:3242)
==14804==    by 0x6F64B10: exif_process_APP1 (exif.c:3267)
==14804==    by 0x6F64B10: exif_scan_JPEG_header (exif.c:3412)
==14804==    by 0x6F64B10: exif_scan_FILE_header (exif.c:3797)
==14804==    by 0x6F64B10: exif_read_file.constprop.15 (exif.c:3939)
==14804==    by 0x6F64D0B: zif_exif_thumbnail (exif.c:4144)
==14804==    by 0x3E32BC: ZEND_DO_ICALL_SPEC_HANDLER (zend_vm_execute.h:586)
==14804==    by 0x3D5FAA: execute_ex (zend_vm_execute.h:414)
==14804==    by 0x431FE2: zend_execute (zend_vm_execute.h:458)
==14804==    by 0x392E8F: zend_execute_scripts (zend.c:1427)
==14804==    by 0x32B28F: php_execute_script (main.c:2494)
==14804==    by 0x433D87: do_cli (php_cli.c:974)
==14804==    by 0x1DE05A: main (php_cli.c:1344)
==14804== 
PHP Warning:  exif_thumbnail(bleble): Illegal IFD offset in /128889/test.php on line 5
PHP Warning:  exif_thumbnail(bleble): File structure corrupted in /128889/test.php on line 5
PHP Warning:  exif_thumbnail(bleble): Invalid JPEG file in /128889/test.php on line 5
$

12/php5, 11sp3/php53, 11/php5

$  USE_ZEND_ALLOC=0 valgrind  -q php test.php
PHP Warning:  exif_thumbnail(bleble): File structure corrupted in /128889/test.php on line 5
PHP Warning:  exif_thumbnail(bleble): Invalid JPEG file in /128889/test.php on line 5
$


PATCH

http://git.php.net/?p=php-src.git;a=commit;h=8ac6fee8562533a15db90062117210ed28b44fea

Can be applied everywhere.

AFTER

$ USE_ZEND_ALLOC=0 valgrind  -q php test.php
[.. unrelated uninitialized conditional jumps ..]
PHP Warning:  exif_thumbnail(bleble): IFD data too short: 0x0009 offset 0x0008 in /128889/test.php on line 5
PHP Warning:  exif_thumbnail(bleble): File structure corrupted in /128889/test.php on line 5
PHP Warning:  exif_thumbnail(bleble): Invalid JPEG file in /128889/test.php on line 5
$

I run also for other codestreams, there was no change in the output.
Comment 3 Petr Gajdos 2019-03-19 14:11:31 UTC
Will submit for: 15/php7, 12/php72, 12/php7, 12/php5, 11sp3/php53, 11/php5 and 10sp3/php5.
Comment 4 Petr Gajdos 2019-03-19 16:18:17 UTC
Also fixed in devel:languages:php:php56.
Comment 5 Petr Gajdos 2019-03-20 12:44:51 UTC
I believe all fixed.
Comment 7 Swamp Workflow Management 2019-03-21 09:56:22 UTC
An update workflow for this issue was started.
This issue was rated as low.
Please submit fixed packages until 2019-04-18.
When done, reassign the bug to security-team@suse.de.
https://swamp.suse.de/webswamp/wf/64240
Comment 9 Petr Gajdos 2019-03-27 14:24:16 UTC
ETOOMUCHCODESTREAMS I would say.

Please do not set NEEDINFO when you are reassigning the bug back.

Package submitted.
Comment 11 Swamp Workflow Management 2019-04-05 19:20:44 UTC
SUSE-SU-2019:14013-1: An update that fixes 11 vulnerabilities is now available.

Category: security (moderate)
Bug References: 1126711,1126713,1126821,1126823,1127122,1128722,1128883,1128886,1128887,1128889,1128892
CVE References: CVE-2018-20783,CVE-2019-9020,CVE-2019-9021,CVE-2019-9023,CVE-2019-9024,CVE-2019-9637,CVE-2019-9638,CVE-2019-9639,CVE-2019-9640,CVE-2019-9641,CVE-2019-9675
Sources used:
SUSE Linux Enterprise Software Development Kit 11-SP4 (src):    php53-5.3.17-112.58.1
SUSE Linux Enterprise Server 11-SP4 (src):    php53-5.3.17-112.58.1
SUSE Linux Enterprise Point of Sale 11-SP3 (src):    php53-5.3.17-112.58.1
SUSE Linux Enterprise Debuginfo 11-SP4 (src):    php53-5.3.17-112.58.1

*** NOTE: This information is not intended to be used for external
    communication, because this may only be a partial fix.
    If you have questions please reach out to maintenance coordination.
Comment 12 Swamp Workflow Management 2019-04-23 10:10:58 UTC
SUSE-SU-2019:0988-1: An update that fixes 5 vulnerabilities is now available.

Category: security (moderate)
Bug References: 1128883,1128886,1128887,1128889,1128892
CVE References: CVE-2019-9637,CVE-2019-9638,CVE-2019-9639,CVE-2019-9640,CVE-2019-9675
Sources used:
SUSE Linux Enterprise Software Development Kit 12-SP4 (src):    php72-7.2.5-1.10.1
SUSE Linux Enterprise Software Development Kit 12-SP3 (src):    php72-7.2.5-1.10.1
SUSE Linux Enterprise Module for Web Scripting 12 (src):    php72-7.2.5-1.10.1

*** NOTE: This information is not intended to be used for external
    communication, because this may only be a partial fix.
    If you have questions please reach out to maintenance coordination.
Comment 13 Marcus Meissner 2019-04-23 15:21:40 UTC
Created attachment 803420 [details]
CVE-2019-9638.jpg

QA REPRODUCER:

put this in xx.php:

<?php
$s = exif_thumbnail("CVE-2019-9638.jpg");
?>


then run php xx.php

PHP Warning:  exif_thumbnail(test.jpg): Illegal IFD offset in /var/tmp/bug/1128889.php on line 2
PHP Warning:  exif_thumbnail(test.jpg): File structure corrupted in /var/tmp/bug/1128889.php on line 2
PHP Warning:  exif_thumbnail(test.jpg): Invalid JPEG file in /var/tmp/bug/1128889.php on line 2
Comment 15 Swamp Workflow Management 2019-04-29 13:10:34 UTC
openSUSE-SU-2019:1293-1: An update that solves 11 vulnerabilities and has one errata is now available.

Category: security (moderate)
Bug References: 1126711,1126713,1126821,1126823,1127122,1128722,1128883,1128886,1128887,1128889,1128892,1129032
CVE References: CVE-2018-20783,CVE-2019-9020,CVE-2019-9021,CVE-2019-9023,CVE-2019-9024,CVE-2019-9637,CVE-2019-9638,CVE-2019-9639,CVE-2019-9640,CVE-2019-9641,CVE-2019-9675
Sources used:
openSUSE Leap 42.3 (src):    php7-7.0.7-58.1
Comment 18 Swamp Workflow Management 2019-05-23 19:11:18 UTC
SUSE-SU-2019:1325-1: An update that fixes 8 vulnerabilities is now available.

Category: security (moderate)
Bug References: 1128883,1128886,1128887,1128889,1128892,1132837,1132838,1134322
CVE References: CVE-2019-11034,CVE-2019-11035,CVE-2019-11036,CVE-2019-9637,CVE-2019-9638,CVE-2019-9639,CVE-2019-9640,CVE-2019-9675
Sources used:
SUSE Linux Enterprise Software Development Kit 12-SP4 (src):    php5-5.5.14-109.58.1
SUSE Linux Enterprise Software Development Kit 12-SP3 (src):    php5-5.5.14-109.58.1
SUSE Linux Enterprise Module for Web Scripting 12 (src):    php5-5.5.14-109.58.1

NOTE: This line indicates an update has been released for the listed product(s). At times this might be only a partial fix. If you have questions please reach out to maintenance coordination.
Comment 19 Swamp Workflow Management 2019-06-03 13:16:19 UTC
openSUSE-SU-2019:1503-1: An update that fixes 8 vulnerabilities is now available.

Category: security (moderate)
Bug References: 1128883,1128886,1128887,1128889,1128892,1132837,1132838,1134322
CVE References: CVE-2019-11034,CVE-2019-11035,CVE-2019-11036,CVE-2019-9637,CVE-2019-9638,CVE-2019-9639,CVE-2019-9640,CVE-2019-9675
Sources used:
openSUSE Leap 42.3 (src):    php5-5.5.14-118.1
Comment 20 Swamp Workflow Management 2019-06-11 22:12:35 UTC
SUSE-SU-2019:1461-1: An update that solves 16 vulnerabilities and has two fixes is now available.

Category: security (moderate)
Bug References: 1118832,1119396,1126711,1126713,1126821,1126823,1126827,1127122,1128722,1128883,1128886,1128887,1128889,1128892,1129032,1132837,1132838,1134322
CVE References: CVE-2018-19935,CVE-2018-20783,CVE-2019-11034,CVE-2019-11035,CVE-2019-11036,CVE-2019-9020,CVE-2019-9021,CVE-2019-9022,CVE-2019-9023,CVE-2019-9024,CVE-2019-9637,CVE-2019-9638,CVE-2019-9639,CVE-2019-9640,CVE-2019-9641,CVE-2019-9675
Sources used:
SUSE Linux Enterprise Module for Web Scripting 15 (src):    php7-7.2.5-4.32.1
SUSE Linux Enterprise Module for Packagehub Subpackages 15 (src):    php7-7.2.5-4.32.1
SUSE Linux Enterprise Module for Open Buildservice Development Tools 15 (src):    php7-7.2.5-4.32.1

NOTE: This line indicates an update has been released for the listed product(s). At times this might be only a partial fix. If you have questions please reach out to maintenance coordination.
Comment 21 Swamp Workflow Management 2019-06-18 16:38:52 UTC
openSUSE-SU-2019:1572-1: An update that solves 16 vulnerabilities and has two fixes is now available.

Category: security (moderate)
Bug References: 1118832,1119396,1126711,1126713,1126821,1126823,1126827,1127122,1128722,1128883,1128886,1128887,1128889,1128892,1129032,1132837,1132838,1134322
CVE References: CVE-2018-19935,CVE-2018-20783,CVE-2019-11034,CVE-2019-11035,CVE-2019-11036,CVE-2019-9020,CVE-2019-9021,CVE-2019-9022,CVE-2019-9023,CVE-2019-9024,CVE-2019-9637,CVE-2019-9638,CVE-2019-9639,CVE-2019-9640,CVE-2019-9641,CVE-2019-9675
Sources used:
openSUSE Leap 15.1 (src):    php7-7.2.5-lp151.6.3.1
Comment 22 Swamp Workflow Management 2019-06-18 16:43:56 UTC
openSUSE-SU-2019:1573-1: An update that solves 16 vulnerabilities and has two fixes is now available.

Category: security (moderate)
Bug References: 1118832,1119396,1126711,1126713,1126821,1126823,1126827,1127122,1128722,1128883,1128886,1128887,1128889,1128892,1129032,1132837,1132838,1134322
CVE References: CVE-2018-19935,CVE-2018-20783,CVE-2019-11034,CVE-2019-11035,CVE-2019-11036,CVE-2019-9020,CVE-2019-9021,CVE-2019-9022,CVE-2019-9023,CVE-2019-9024,CVE-2019-9637,CVE-2019-9638,CVE-2019-9639,CVE-2019-9640,CVE-2019-9641,CVE-2019-9675
Sources used:
openSUSE Leap 15.0 (src):    php7-7.2.5-lp150.2.19.1
Comment 25 OBSbugzilla Bot 2020-05-12 08:01:28 UTC
This is an autogenerated message for OBS integration:
This bug (1128889) was mentioned in
https://build.opensuse.org/request/show/802846 Factory / php7
Comment 26 OBSbugzilla Bot 2020-05-12 14:01:14 UTC
This is an autogenerated message for OBS integration:
This bug (1128889) was mentioned in
https://build.opensuse.org/request/show/802978 Factory / php7
Comment 27 OBSbugzilla Bot 2020-05-13 08:21:09 UTC
This is an autogenerated message for OBS integration:
This bug (1128889) was mentioned in
https://build.opensuse.org/request/show/804946 Factory / php7
Comment 29 OBSbugzilla Bot 2020-05-13 13:30:37 UTC
This is an autogenerated message for OBS integration:
This bug (1128889) was mentioned in
https://build.opensuse.org/request/show/805287 Factory / php7