Bug 928506 (CVE-2015-3329) - VUL-1: CVE-2015-3329: php5,php53: Buffer Over flow when parsing tar/zip/phar in phar_set_inode()
Summary: VUL-1: CVE-2015-3329: php5,php53: Buffer Over flow when parsing tar/zip/phar ...
Status: RESOLVED FIXED
Alias: CVE-2015-3329
Product: SUSE Security Incidents
Classification: Novell Products
Component: Incidents (show other bugs)
Version: unspecified
Hardware: Other Other
: P4 - Low : Normal
Target Milestone: ---
Assignee: Security Team bot
QA Contact: Security Team bot
URL: https://smash.suse.de/issue/116110/
Whiteboard: maint:released:sle11-sp3:61841 CVSSv2...
Keywords:
Depends on:
Blocks:
 
Reported: 2015-04-24 09:26 UTC by Andreas Stieger
Modified: 2016-06-21 11:13 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Stieger 2015-04-24 09:26:01 UTC
buffer over flow vulnerability when parsing tar/zip/phar via the PHAR & PHARData class in Phar PHP extension.

Upstream fix: http://git.php.net/?p=php-src.git;a=commit;h=f59b67ae50064560d7bfcdb0d6a8ab284179053c
Upstream bug: https://bugs.php.net/bug.php?id=69441

References:
https://bugzilla.redhat.com/show_bug.cgi?id=1213449
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-3329
http://people.canonical.com/~ubuntu-security/cve/2015/CVE-2015-3329.html
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3329

Reproducer mentioned in bug report vanished, asked initial reporter.
I cannot reproduce on openSUSE 13.2 with the test files committed with the fix.

PHAR are not normally provided by users, php-phar would need to be installed.
Comment 1 Andreas Stieger 2015-04-24 09:47:05 UTC
-phar bundled since php 5.3
Comment 3 Swamp Workflow Management 2015-04-24 22:00:16 UTC
bugbot adjusting priority
Comment 4 Petr Gajdos 2015-04-27 08:04:32 UTC
I can reproduce for 13.2 (not the segfault, yes).

But anyway, it is probably good idea to check what we put into tmp as it is fixed size array.
Comment 6 Petr Gajdos 2015-04-27 09:25:46 UTC
QA:

O. download bug69441.phpt and bug69441.phar from
http://git.php.net/?p=php-src.git;a=commit;h=f59b67ae50064560d7bfcdb0d6a8ab284179053c
1. install php5, php5-phar, php5-debug*, php5-phar-debuginfo*
2. $ gdb php
(gdb) b phar_internal.h:541
(gdb) run bug69441.phpt
Breakpoint 1, phar_set_inode (entry=0x7ffffffe83c0) at /usr/src/debug/php-5.6.1/ext/phar/phar_internal.h:541
541		entry->inode = (unsigned short)zend_get_hash_value(tmp, tmp_len);

   ()
(gdb) p sizeof(tmp)
$2 = 4096

BEFORE:

(gdb) p tmp_len
$3 = 4117

AFTER:

(gdb) p tmp_len
$1 = 4096
Comment 8 Petr Gajdos 2015-04-27 12:38:30 UTC
Summary, affected: 11sp3 .. 13.2
Comment 9 Petr Gajdos 2015-04-28 08:09:30 UTC
openSUSE: mr#304307
sle12:    mr#56496
11sp3:    sr#56494
Comment 11 Swamp Workflow Management 2015-05-12 15:05:55 UTC
openSUSE-SU-2015:0855-1: An update that solves three vulnerabilities and has one errata is now available.

Category: security (important)
Bug References: 927147,928408,928506,928511
CVE References: CVE-2015-2783,CVE-2015-3329,CVE-2015-3330
Sources used:
openSUSE 13.2 (src):    php5-5.6.1-21.1
openSUSE 13.1 (src):    php5-5.4.20-52.1
Comment 12 Swamp Workflow Management 2015-05-13 13:08:36 UTC
SUSE-SU-2015:0868-1: An update that solves 9 vulnerabilities and has one errata is now available.

Category: security (important)
Bug References: 922022,922451,922452,923946,924970,924972,925109,928408,928506,928511
CVE References: CVE-2014-9705,CVE-2014-9709,CVE-2015-2301,CVE-2015-2305,CVE-2015-2348,CVE-2015-2783,CVE-2015-2787,CVE-2015-3329,CVE-2015-3330
Sources used:
SUSE Linux Enterprise Software Development Kit 12 (src):    php5-5.5.14-22.1
SUSE Linux Enterprise Module for Web Scripting 12 (src):    php5-5.5.14-22.1
Comment 13 Swamp Workflow Management 2015-06-09 12:06:19 UTC
SUSE-SU-2015:1018-1: An update that solves 11 vulnerabilities and has one errata is now available.

Category: security (moderate)
Bug References: 922022,922451,922452,923946,924972,925109,928506,928511,931421,931769,931772,931776
CVE References: CVE-2014-9705,CVE-2014-9709,CVE-2015-2301,CVE-2015-2305,CVE-2015-2783,CVE-2015-2787,CVE-2015-3329,CVE-2015-4021,CVE-2015-4022,CVE-2015-4024,CVE-2015-4026
Sources used:
SUSE Linux Enterprise Software Development Kit 11 SP3 (src):    php53-5.3.17-0.41.1
SUSE Linux Enterprise Server 11 SP3 for VMware (src):    php53-5.3.17-0.41.1
SUSE Linux Enterprise Server 11 SP3 (src):    php53-5.3.17-0.41.1
Comment 14 Marcus Meissner 2015-09-10 15:19:03 UTC
released
Comment 15 Swamp Workflow Management 2016-06-21 11:13:41 UTC
SUSE-SU-2016:1638-1: An update that fixes 85 vulnerabilities is now available.

Category: security (important)
Bug References: 884986,884987,884989,884990,884991,884992,885961,886059,886060,893849,893853,902357,902360,902368,910659,914690,917150,918768,919080,921950,922451,922452,923945,924972,925109,928506,928511,931421,931769,931772,931776,933227,935074,935224,935226,935227,935229,935232,935234,935274,935275,938719,938721,942291,942296,945412,945428,949961,968284,969821,971611,971612,971912,973351,973792,976996,976997,977003,977005,977991,977994,978827,978828,978829,978830,980366,980373,980375,981050,982010,982011,982012,982013,982162
CVE References: CVE-2004-1019,CVE-2006-7243,CVE-2014-0207,CVE-2014-3478,CVE-2014-3479,CVE-2014-3480,CVE-2014-3487,CVE-2014-3515,CVE-2014-3597,CVE-2014-3668,CVE-2014-3669,CVE-2014-3670,CVE-2014-4049,CVE-2014-4670,CVE-2014-4698,CVE-2014-4721,CVE-2014-5459,CVE-2014-8142,CVE-2014-9652,CVE-2014-9705,CVE-2014-9709,CVE-2014-9767,CVE-2015-0231,CVE-2015-0232,CVE-2015-0273,CVE-2015-1352,CVE-2015-2301,CVE-2015-2305,CVE-2015-2783,CVE-2015-2787,CVE-2015-3152,CVE-2015-3329,CVE-2015-3411,CVE-2015-3412,CVE-2015-4021,CVE-2015-4022,CVE-2015-4024,CVE-2015-4026,CVE-2015-4116,CVE-2015-4148,CVE-2015-4598,CVE-2015-4599,CVE-2015-4600,CVE-2015-4601,CVE-2015-4602,CVE-2015-4603,CVE-2015-4643,CVE-2015-4644,CVE-2015-5161,CVE-2015-5589,CVE-2015-5590,CVE-2015-6831,CVE-2015-6833,CVE-2015-6836,CVE-2015-6837,CVE-2015-6838,CVE-2015-7803,CVE-2015-8835,CVE-2015-8838,CVE-2015-8866,CVE-2015-8867,CVE-2015-8873,CVE-2015-8874,CVE-2015-8879,CVE-2016-2554,CVE-2016-3141,CVE-2016-3142,CVE-2016-3185,CVE-2016-4070,CVE-2016-4073,CVE-2016-4342,CVE-2016-4346,CVE-2016-4537,CVE-2016-4538,CVE-2016-4539,CVE-2016-4540,CVE-2016-4541,CVE-2016-4542,CVE-2016-4543,CVE-2016-4544,CVE-2016-5093,CVE-2016-5094,CVE-2016-5095,CVE-2016-5096,CVE-2016-5114
Sources used:
SUSE Linux Enterprise Server 11-SP2-LTSS (src):    php53-5.3.17-47.1