Two critical PHP vulnerabilities, rated 9.2. Their CVE numbers leaked a day before the fix, and some governments took their own sites offline rather than run unpatched. Two weeks of PHP Internals in one episode. https://youtu.be/4ze2Re_-gMQ #PHP #PHPInternals #PHP86
Len Woodward
Len Woodward
@projektgopher.com
Full-stack senior Laravel and JS developer based in Vancouver, BC, Canada https://LenWoodward.com CoFounder @ artisan.build Currently building hallway.fm Watch it happen @ artisan.community
1.1K followers174 following394 posts
This week's episode is supported by Scalpels: open source apps that each replace a paid service, forked into your GitHub org and deployed to your own Laravel Cloud. The platform that manages them is one lifetime purchase, not another subscription. https://scalpels.app
And the reason there's anything to report each week: the PHP Foundation funds more than half of ongoing php-src commits. If you use the language, consider donating — or guilt your employer into it. https://opencollective.com/phpfoundation
Two critical PHP vulnerabilities, rated 9.2. Their CVE numbers leaked a day before the fix, and some governments took their own sites offline rather than run unpatched. Two weeks of PHP Internals in one episode. https://youtu.be/4ze2Re_-gMQ #PHP #PHPInternals #PHP86
Quick hits: Máté Kocsis answered @timwolla.bsky.social's 14-point query params review. Tim sent Jakub Zelenka 15 more on polling. Marc wants getNanoOfSecond. Tim backs David Carlier's IntlNumberFormatter, and Juliette Reinders Folmer is on the b prefix.
Weilin Du's RFC lets ini_get_all take extension names in any case. Frode Børli wants karma for a Scope RFC. 8.6 RC4 is out with the fixes. And Pratik Bhujel held the Io\Terminal vote after @timwolla.bsky.social said the core team was busy.
Two critical PHP vulnerabilities, rated 9.2. Their CVE numbers leaked a day before the fix, and some governments took their own sites offline rather than run unpatched. Two weeks of PHP Internals in one episode. https://youtu.be/4ze2Re_-gMQ #PHP #PHPInternals #PHP86
Sjoerd Langkemper reopened SSRF protection in curl. @beoneself.bsky.social's plan is now narrower: just CURLOPT_OPENSOCKETFUNCTION, with a callback that sees the address and port. He's building it as an extension first.
Two critical PHP vulnerabilities, rated 9.2. Their CVE numbers leaked a day before the fix, and some governments took their own sites offline rather than run unpatched. Two weeks of PHP Internals in one episode. https://youtu.be/4ze2Re_-gMQ #PHP #PHPInternals #PHP86
Back to this week: PHP voted 40–0 to stop endorsing PEAR, @nicksdot.dev's RFC. Sebastian Bergmann wants the archive switched off safely: signed SHA-256 hashes, a pinned installer hash, brown-outs, and a tombstone PHAR instead of a 404.
Two critical PHP vulnerabilities, rated 9.2. Their CVE numbers leaked a day before the fix, and some governments took their own sites offline rather than run unpatched. Two weeks of PHP Internals in one episode. https://youtu.be/4ze2Re_-gMQ #PHP #PHPInternals #PHP86
@mnapoli.bsky.social's single binary flipped: php-fpm now carries the CLI and picks its mode by name. @timwolla.bsky.social wants an explicit php --fpm, Marc Henderkes agrees, and Levi Morrison floated a shared libzend.so.
Two critical PHP vulnerabilities, rated 9.2. Their CVE numbers leaked a day before the fix, and some governments took their own sites offline rather than run unpatched. Two weeks of PHP Internals in one episode. https://youtu.be/4ze2Re_-gMQ #PHP #PHPInternals #PHP86
Otar Chekurishvili's RFC adds two opt-in json_decode flags: comments and trailing commas. @timwolla.bsky.social called it "incredibly well-written", and Larry Garfield has "no remaining objections to it."
Two critical PHP vulnerabilities, rated 9.2. Their CVE numbers leaked a day before the fix, and some governments took their own sites offline rather than run unpatched. Two weeks of PHP Internals in one episode. https://youtu.be/4ze2Re_-gMQ #PHP #PHPInternals #PHP86
Finland, France, the Netherlands and Canada took some government sites offline until they could patch. Dan Lorenc said exploits had hit the wild; @naderman.de: "There were no confirmed exploits." The PHP team and CISA hadn't seen any at release.
Two critical PHP vulnerabilities, rated 9.2. Their CVE numbers leaked a day before the fix, and some governments took their own sites offline rather than run unpatched. Two weeks of PHP Internals in one episode. https://youtu.be/4ze2Re_-gMQ #PHP #PHPInternals #PHP86
The fix, by Arnaud Le Blanc with Ilija Tovilo, Jakub Zelenka, Nora Dossche and @nicolasgrekas.bsky.social: no more jumping out of out-of-memory. PHP flags it and stops at the next safe point, with a new hard limit as a backstop. 389 files touched.
Two critical PHP vulnerabilities, rated 9.2. Their CVE numbers leaked a day before the fix, and some governments took their own sites offline rather than run unpatched. Two weeks of PHP Internals in one episode. https://youtu.be/4ze2Re_-gMQ #PHP #PHPInternals #PHP86
PHP's default password hash only reads the first 72 bytes of your password. Last week's plan to refuse longer ones split the list. This week, a fix that breaks nothing arrived, borrowed from a Python library. https://youtu.be/HHhoh-7H37A #PHP #PHPInternals #PHP87
This week's episode is supported by Scalpels: open source apps that each replace a paid service, forked into your GitHub org and deployed to your own Laravel Cloud. The platform that manages them is one lifetime purchase, not another subscription. https://scalpels.app
And the reason there's anything to report each week: the PHP Foundation funds more than half of ongoing php-src commits. If you use the language, consider donating — or guilt your employer into it. https://opencollective.com/phpfoundation
PHP's default password hash only reads the first 72 bytes of your password. Last week's plan to refuse longer ones split the list. This week, a fix that breaks nothing arrived, borrowed from a Python library. https://youtu.be/HHhoh-7H37A #PHP #PHPInternals #PHP87
PHP's default password hash only reads the first 72 bytes of your password. Last week's plan to refuse longer ones split the list. This week, a fix that breaks nothing arrived, borrowed from a Python library. https://youtu.be/HHhoh-7H37A #PHP #PHPInternals #PHP87
PHP's default password hash only reads the first 72 bytes of your password. Last week's plan to refuse longer ones split the list. This week, a fix that breaks nothing arrived, borrowed from a Python library. https://youtu.be/HHhoh-7H37A #PHP #PHPInternals #PHP87
Io\Terminal v0.4 dropped its interfaces: @timwolla.bsky.social argued the real boundary is the stream, not the terminal, and Bob Weinand agreed. Larry Garfield sketched tests with in-memory streams, and Pratik Bhujel is heading toward a vote.
@mnapoli.bsky.social's RFC puts FPM inside the php binary: on Lambda, 18% smaller, 25% faster cold start. @timwolla.bsky.social sees no drawbacks, Ayesh Karunaratne flagged a -F clash, Larry Garfield fears locking in FPM, and @nicolasgrekas.bsky.social and Jakub Zelenka want FPM to embed the CLI.
PHP's default password hash only reads the first 72 bytes of your password. Last week's plan to refuse longer ones split the list. This week, a fix that breaks nothing arrived, borrowed from a Python library. https://youtu.be/HHhoh-7H37A #PHP #PHPInternals #PHP87
Two votes are open after 7 straight episodes with none. @nicksdot.dev's RFC to end PEAR's endorsement was 26–0 at recording (closes Oct 19). Weilin Du's IntlRelativeDateTimeFormatter is back with @timwolla.bsky.social's enum design: 7–0, Tim included (closes Oct 22).
Time\Instant won't pick a JSON format for you. Ilia called the empty object a trap and Rob Landers wants it to throw, but @timwolla.bsky.social and Derick Rethans say pick one yourself. Marc's 15-point review turned getUnixTimestamp into toUnixTimestamp.
PHP's default password hash only reads the first 72 bytes of your password. Last week's plan to refuse longer ones split the list. This week, a fix that breaks nothing arrived, borrowed from a Python library. https://youtu.be/HHhoh-7H37A #PHP #PHPInternals #PHP87
Top story: Sjoerd Langkemper set aside his RFC to throw on bcrypt passwords past 72 bytes and proposed PASSWORD_BCRYPT_SHA256: opt-in, no BC break, Passlib-compatible. @timwolla.bsky.social suggested it and Anton Smirnov loves it. Jeff Dafoe had to force password resets over the old limit.
Pick a password longer than 72 bytes and PHP's default hash keeps only the first 72, so a shortened password still logs you in. An RFC wants PHP to refuse instead, and the list can't agree it's worth the break. https://youtu.be/3Hp0E0SbusM #PHP #PHPInternals #PHP87
This week's episode is supported by Scalpels: professionally built, open source alternatives to the parts you actually use of things like Private Packagist, Mailtrap and remove.bg. Forked into your GitHub org, deployed to your own Laravel Cloud, all MIT. https://scalpels.app
And the reason there's anything to report each week: the PHP Foundation funds more than half of ongoing php-src commits. If you use the language, consider donating — or guilt your employer into it. https://opencollective.com/phpfoundation
Pick a password longer than 72 bytes and PHP's default hash keeps only the first 72, so a shortened password still logs you in. An RFC wants PHP to refuse instead, and the list can't agree it's worth the break. https://youtu.be/3Hp0E0SbusM #PHP #PHPInternals #PHP87
Pedro Veloso floated an engine-enforced #[Pure]. Karoly Negyesi posted a pre-RFC for Kotlin-style "implements … by" delegation. Alexander Danilov: much of post-quantum OpenSSL already works in PHP. And @nicksdot.dev's PEAR vote hasn't opened yet.
Pick a password longer than 72 bytes and PHP's default hash keeps only the first 72, so a shortened password still logs you in. An RFC wants PHP to refuse instead, and the list can't agree it's worth the break. https://youtu.be/3Hp0E0SbusM #PHP #PHPInternals #PHP87
Pick a password longer than 72 bytes and PHP's default hash keeps only the first 72, so a shortened password still logs you in. An RFC wants PHP to refuse instead, and the list can't agree it's worth the break. https://youtu.be/3Hp0E0SbusM #PHP #PHPInternals #PHP87
Time\Instant got a bridge from DateTime: toInstant(). @timwolla.bsky.social and Derick Rethans won't write the testing-clocks RFC, and they're inviting the community to. Mirco Babin flagged a clash with PSR-20's now(). Morgan: "Well, then it's not an instant, is it?"
Pick a password longer than 72 bytes and PHP's default hash keeps only the first 72, so a shortened password still logs you in. An RFC wants PHP to refuse instead, and the list can't agree it's worth the break. https://youtu.be/3Hp0E0SbusM #PHP #PHPInternals #PHP87
Gina P. Banyard's CompiledRegex prototype drew 18 replies, and several want it called just Regex: Larry Garfield, Casper Langemeijer, Jordi Kroon, Juris Evertovskis. Ayesh Karunaratne and @seld.be want to build one from the patterns you already have.
Pratik Bhujel's terminal extension is now the Io\Terminal RFC for PHP 8.7. @nicolasgrekas.bsky.social: calling stty is "a workaround we've been carrying since way too long." Larry Garfield wants it mockable, so v0.3 makes Terminal an interface.
Pick a password longer than 72 bytes and PHP's default hash keeps only the first 72, so a shortened password still logs you in. An RFC wants PHP to refuse instead, and the list can't agree it's worth the break. https://youtu.be/3Hp0E0SbusM #PHP #PHPInternals #PHP87
Top story: Sjoerd Langkemper's RFC would make password_hash() with bcrypt refuse passwords past 72 bytes. Kamil Tekiela and @timwolla.bsky.social: checking length is the app's job. Rowan Tommins, Andrey Andreev and Robert Chapin are for it. Derick Rethans is a -1: "a scary BC break."
One of the many things we've been working on lately at Artisan Build is finally ready to start being talked about publicly! But it's still early, and we only want to include people in our immediate networks for now. So if you're seeing this, that means you. scalpels.app/street-team
In order to get some traction, we want to solicit help from our immediate network in what we're calling our 'Scalpels Street Team'. If you want to partner up on this with us, even if that just means leveraging your own audience, we'd love the support. scalpels.app/street-team
One of the many things we've been working on lately at Artisan Build is finally ready to start being talked about publicly! But it's still early, and we only want to include people in our immediate networks for now. So if you're seeing this, that means you. scalpels.app/street-team