]> granicus.if.org Git - php/commit
Fix #73809: Phar Zip parse crash - mmap fail
authorChristoph M. Becker <cmbecker69@gmx.de>
Tue, 1 Dec 2020 13:20:39 +0000 (14:20 +0100)
committerChristoph M. Becker <cmbecker69@gmx.de>
Tue, 1 Dec 2020 15:58:19 +0000 (16:58 +0100)
commitc283f53b24b84e0571ca2b29df05247a7344392c
tree33b27e2b7b7d52729771aae7d4b15bd267ffd25a
parentecee3f1209a7c0ac9f99c7f640b2f5df56656e58
Fix #73809: Phar Zip parse crash - mmap fail

Phar signatures practically are of limited size; for the MD5 and SHA
hashes the size is fixed (at most 64 bytes for SHA512); for OpenSSL
public keys there is no size limit in theory, but "64 KiB ought to be
good enough for anybody".  So we check for that limit, to avoid fatal
errors due to out of memory conditions.

Since it is neither possible to have the signature compressed in the
ZIP archive, nor is it possible to manually add a signature via Phar,
we use ZipArchive to create a suitable archive for the test on the fly.

Closes GH-6474.
NEWS
ext/phar/tests/bug73809.phpt [new file with mode: 0644]
ext/phar/zip.c