php-8.3.8-1.fc40

Read Time:1 Minute, 54 Second

FEDORA-2024-49aba7b305

Packages in this update:

php-8.3.8-1.fc40

Update description:

PHP version 8.3.8 (06 Jun 2024)

CGI:

Fixed buffer limit on Windows, replacing read call usage by _read. (David Carlier)
Fixed bug GHSA-3qgc-jrrr-25jv (Bypass of CVE-2012-1823, Argument Injection in PHP-CGI). (CVE-2024-4577) (nielsdos)

CLI:

Fixed bug GH-14189 (PHP Interactive shell input state incorrectly handles quoted heredoc literals.). (nielsdos)

Core:

Fixed bug GH-13970 (Incorrect validation of #[Attribute] flags type for non-compile-time expressions). (ilutov)

DOM:

Fix crashes when entity declaration is removed while still having entity references. (nielsdos)
Fix references not handled correctly in C14N. (nielsdos)
Fix crash when calling childNodes next() when iterator is exhausted. (nielsdos)
Fix crash in ParentNode::append() when dealing with a fragment containing text nodes. (nielsdos)

Filter:

Fixed bug GHSA-w8qr-v226-r27w (Filter bypass in filter_var FILTER_VALIDATE_URL). (CVE-2024-5458) (nielsdos)

FPM:

Fix bug GH-14175 (Show decimal number instead of scientific notation in systemd status). (Benjamin Cremer)

Hash:

ext/hash: Swap the checking order of __has_builtin and __GNUC__ (Saki Takamachi)

Intl:

Fixed build regression on systems without C++17 compilers. (Calvin Buckley, Peter Kokot)

MySQLnd:

Fix bug GH-14255 (mysqli_fetch_assoc reports error from nested query). (Kamil Tekiela)

Opcache:

Fixed bug GH-14109 (Fix accidental persisting of internal class constant in shm). (ilutov)

OpenSSL:

The openssl_private_decrypt function in PHP, when using PKCS1 padding (OPENSSL_PKCS1_PADDING, which is the default), is vulnerable to the Marvin Attack unless it is used with an OpenSSL version that includes the changes from this pull request: https://github.com/openssl/openssl/pull/13817 (rsa_pkcs1_implicit_rejection). These changes are part of OpenSSL 3.2 and have also been backported to stable versions of various Linux distributions, as well as to the PHP builds provided for Windows since the previous release. All distributors and builders should ensure that this version is used to prevent PHP from being vulnerable. (CVE-2024-2408)

Standard:

Fixed bug GHSA-9fcc-425m-g385 (Bypass of CVE-2024-1874). (CVE-2024-5585) (nielsdos)

XML:

Fixed bug GH-14124 (Segmentation fault with XML extension under certain memory limit). (nielsdos)

XMLReader:

Fixed bug GH-14183 (XMLReader::open() can’t be overridden). (nielsdos)

Read More

php-8.2.20-1.fc39

Read Time:2 Minute, 8 Second

FEDORA-2024-52c23ef1ec

Packages in this update:

php-8.2.20-1.fc39

Update description:

PHP version 8.2.20 (06 Jun 2024)

CGI:

Fixed buffer limit on Windows, replacing read call usage by _read. (David Carlier)
Fixed bug GHSA-3qgc-jrrr-25jv (Bypass of CVE-2012-1823, Argument Injection in PHP-CGI). (CVE-2024-4577) (nielsdos)

CLI:

Fixed bug GH-14189 (PHP Interactive shell input state incorrectly handles quoted heredoc literals.). (nielsdos)

Core:

Fixed bug GH-13970 (Incorrect validation of #[Attribute] flags type for non-compile-time expressions). (ilutov)
Fixed bug GH-14140 (Floating point bug in range operation on Apple Silicon hardware). (Derick, Saki)

DOM:

Fix crashes when entity declaration is removed while still having entity references. (nielsdos)
Fix references not handled correctly in C14N. (nielsdos)
Fix crash when calling childNodes next() when iterator is exhausted. (nielsdos)
Fix crash in ParentNode::append() when dealing with a fragment containing text nodes. (nielsdos)

FFI:

Fixed bug GH-14215 (Cannot use FFI::load on CRLF header file with apache2handler). (nielsdos)

Filter:

Fixed bug GHSA-w8qr-v226-r27w (Filter bypass in filter_var FILTER_VALIDATE_URL). (CVE-2024-5458) (nielsdos)

FPM:

Fix bug GH-14175 (Show decimal number instead of scientific notation in systemd status). (Benjamin Cremer)

Hash:

ext/hash: Swap the checking order of __has_builtin and __GNUC__ (Saki Takamachi)

Intl:

Fixed build regression on systems without C++17 compilers. (Calvin Buckley, Peter Kokot)

Ini:

Fixed bug GH-14100 (Corrected spelling mistake in php.ini files). (Marcus Xavier)

MySQLnd:

Fix bug GH-14255 (mysqli_fetch_assoc reports error from nested query). (Kamil Tekiela)

Opcache:

Fixed bug GH-14109 (Fix accidental persisting of internal class constant in shm). (ilutov)

OpenSSL:

The openssl_private_decrypt function in PHP, when using PKCS1 padding (OPENSSL_PKCS1_PADDING, which is the default), is vulnerable to the Marvin Attack unless it is used with an OpenSSL version that includes the changes from this pull request: https://github.com/openssl/openssl/pull/13817 (rsa_pkcs1_implicit_rejection). These changes are part of OpenSSL 3.2 and have also been backported to stable versions of various Linux distributions, as well as to the PHP builds provided for Windows since the previous release. All distributors and builders should ensure that this version is used to prevent PHP from being vulnerable. (CVE-2024-2408)

Standard:

Fixed bug GHSA-9fcc-425m-g385 (Bypass of CVE-2024-1874). (CVE-2024-5585) (nielsdos)

XML:

Fixed bug GH-14124 (Segmentation fault with XML extension under certain memory limit). (nielsdos)

XMLReader:

Fixed bug GH-14183 (XMLReader::open() can’t be overridden). (nielsdos)

Read More

Breaking a Password Manager

Read Time:1 Minute, 16 Second

Interesting story of breaking the security of the RoboForm password manager in order to recover a cryptocurrency wallet password.

Grand and Bruno spent months reverse engineering the version of the RoboForm program that they thought Michael had used in 2013 and found that the pseudo-random number generator used to generate passwords in that version­and subsequent versions until 2015­did indeed have a significant flaw that made the random number generator not so random. The RoboForm program unwisely tied the random passwords it generated to the date and time on the user’s computer­it determined the computer’s date and time, and then generated passwords that were predictable. If you knew the date and time and other parameters, you could compute any password that would have been generated on a certain date and time in the past.

If Michael knew the day or general time frame in 2013 when he generated it, as well as the parameters he used to generate the password (for example, the number of characters in the password, including lower- and upper-case letters, figures, and special characters), this would narrow the possible password guesses to a manageable number. Then they could hijack the RoboForm function responsible for checking the date and time on a computer and get it to travel back in time, believing the current date was a day in the 2013 time frame when Michael generated his password. RoboForm would then spit out the same passwords it generated on the days in 2013.

Read More