PHP 8.2.35

(github.com)

322 points | by tuyuri 1 hour ago

32 comments

  • nr378 50 minutes ago
    • chinathrow 44 minutes ago
      > Over the past two months, we led a coalition of maintainers, researchers, and security providers to address critical vulnerabilities in PHP, an open-source programming language used to run websites and web applications.

      And they botched this as someone talked. To me this looks like they used this for a PR stunt and aimed for an RCE.

      • giancarlostoro 9 minutes ago
        If I understood the timeline correctly, there was an announcement made somewhere that an RCE would be announce w/ a patch, and the internet just scanned the entire codebase, they really fumbled this for the sake of having a PR post for OpenAI.

        On the other hand, I don't mind AI companies doing this sort of thing, I'm sure a lot of our internet infrastructure could benefit from these sorts of fixes and changes.

      • janmo 34 minutes ago
        They haven't even been able to release the patch on time. Ubuntu still hasn't it
        • rob 16 minutes ago
          Not true. I was able to `aptitude update` and `aptitude full-upgrade` before 10:00 AM EST (9:50 AM) and received the new php8.* packages and upgraded fine.
        • dspillett 25 minutes ago
          Debian has, though only for current stable (updates for oldstable and oldoldstable apparently about to drop) which might imply they had no advanced access to the update so could not pre-test and release immediately upon the coordinated announcement.
          • nolok 11 minutes ago
            Sury is up for all versions too
        • hdgvhicv 31 minutes ago
          I had an email from usn recently
      • nicce 36 minutes ago
        Wiz is owned by Google and Argon gets the main credits. So difficult to tell these days. But AI is obviously useful here.

        Edit: was looking Wiz post when citation was from OpenAI

        • chinathrow 35 minutes ago
          Of course it's useful, but you can't absolutely not leak something as big as this.
      • anon1642 19 minutes ago
        I heard this was leaked several days early and that’s why folks seem to be on the back foot.

        I’d press go too - if something this big was known to some but not all…

        We’ll all get through together

    • esquire_900 34 minutes ago
      I feel like all "non-inner-circle people" here are taken for a laugh. OpenAI and these security companies sat on this for 2 months, decided for themselves who gets access to an early fix, and then leave the rest out to dry while they failed to properly contain it.

      The official interim fix for php8.5 [1] could have been published 24h ago, or even 2 weeks ago, without revealing any security details. Specifically once the POC came online. Would have been significantly more useful than these polished blogs.

      Perhaps I'm missing something here, but the costs (dev/sre time, missed sales, potential data leaks and hacks) of the way that this was handled is significant.

      [1] https://github.com/php/php-src/security/advisories/GHSA-6wmf...

      • john_strinlai 29 minutes ago
        >OpenAI and these security companies sat on this for 2 months

        these security companies reported it 2 months ago. it took a month for the php security team to acknowledge it and another month for the php team to develop & release the patch.

        if you're going to be upset at anyone it should not be the reporters.

        >The official interim fix for php8.5 [1] could have been published 24h ago, or even 2 weeks ago, without revealing any security details.

        publishing the fix = publishing the security details.

        • bombcar 19 minutes ago
          This really sounds to me like "they filled out some webform" or "sent an email to security@php that read like any of the ten billion we found vulnerability in your code please send money emails they get.

          If I had details on a RCE like this I'd report it but if I got no response for a WEEK I'd be trying other venues.

          • dannyw 7 minutes ago
            I imagine more details will come out over the coming days, but it’s not uncommon for severity to be under-estimated in the beginning; and then “oh shit” as you dig deeper.

            We don’t know when it went from a “memory safety issue” to “php2shell/RCE”.

            Finally, at least pre-LLM (and maybe a bit outdated now), responsible security disclosure norms is that you usually do wait for vendor (up to 90d) if there’s no signs of active exploitation. Even if it’s a RCE. Actually, especially if it’s a RCE.

            The last thing you wanna do is go pinging random non-security PHP contributors or maintainers and have it leak with zero patch. That is truly the worst outcome.

            Yes, this is bad, but also, it’s apparently been bad for decades; and it could’ve been much worse.

            • Maxious 0 minutes ago
              According to this post, one of the researchers was a former PHP security lead who already knew about the bug since 2004. So I'd assume they would be taken as credible by the current team https://calif.io/php2shell/
          • john_strinlai 10 minutes ago
            >This really sounds to me like "they filled out some webform" or "sent an email to security@php that read like any of the ten billion we found vulnerability in your code please send money emails

            i highly doubt it. these are pretty big names in the security sector who have plenty of experience reporting high severity vulns.

        • charcircuit 22 minutes ago
          Why does the PHP security team need to acknowledge it and develop the fix? It's open source software.
          • lokar 16 minutes ago
            If you want an orderly fast global rollout you need to have the maintenance team and distributors working together.
          • justinhj 9 minutes ago
            What would you have a security team for then?
          • weird-eye-issue 19 minutes ago
            So anybody can just push out a new release of PHP?
          • wat10000 4 minutes ago
            What's the other choice? OpenAI et al could have developed a patch (for all we know they did) but you need the PHP team's participation to get it out. The alternative would be to fork the project and put up a forked release with the fix, which would have been incredibly disruptive.
      • dspillett 7 minutes ago
        One concern with the current environment is that as soon as a release comes out for such an important open source project, people will immediately point bots at the release to look for changes that might be related to existing security issues. This means that putting out a quick out-of-band release is guaranteed to result in people racing to exploit the problem before many even know there is an update out.

        Whether keeping the update quiet and including it in the next normal release, where there are more trees obscuring the wood that is the security concern, would be safer overall than what has happened today is up for debate. I can think of arguments in both directions.

        --------

        [1] which does have a slight whiff of AI marketing about it - would a human-found issue, without the option of a big AI company to claim some credit, have been handled differently?

      • dannyw 20 minutes ago
        Maybe the NSA ‘requested’ some time to use the exploit on some high value targets.

        Sure, it’s PHP, but plenty of companies or organisations might have some PHP running somewhere; and once you’re in, lateral movement becomes a lot easier.

    • tetraodonpuffer 39 minutes ago
      surprising it took nearly a month to acknowledge the bug

      August 24, 2026: Wiz Research reports the vulnerabilities to the PHP security team.

      September 21, 2026: PHP acknowledges the reports and begins developing a coordinated fix.

      • bramhaag 35 minutes ago
        Took them almost 7 years even. According to the Calif write-up it was already reported in 2019 (https://bugs.php.net/bug.php?id=78876) and 2024 (https://ostif.org/php-audit-complete/).
        • polishdude20 30 minutes ago
          Lol wait so OpenAI's LLM to discover this vulnerability most likely just looked it up in an old forum post?
          • pixl97 17 minutes ago
            This isn't a terribly uncommon method of 'discovery'. In maths and sciences there have been tons of papers that have highlighted something new but were never really connected to anything else and then largely forgotten. Later they are picked up by someone else and connected to a much bigger whole.
          • hobofan 7 minutes ago
            It's only one piece in the full exploit chain.
          • charcircuit 21 minutes ago
            That's what my agent did to find a UAF. It just took a public one from calif off the internet and found it still flagged asan.
          • Maxious 18 minutes ago
            [flagged]
        • akersten 16 minutes ago
          No way to prevent this, says only language where this regularly happens
    • darkwater 47 minutes ago
      Why is WordPress out of that list? Isn't it the single major PHP installation in the whole Internet across hosted and self-hosted instances?
      • trollbridge 41 minutes ago
        Well, WP is just a program written in PHP.
        • dspillett 33 minutes ago
          One of the most common PHP based applications out there, therefore a good comms channel (via their forums and any mailing lists, both public and for people who have managed instances with them or are otherwise paying for support contracts) to make sure people are aware of the need to update. That would make the company one worth keeping in the loop, if only in one direction, I would have thought?
          • trollbridge 18 minutes ago
            Well, it would help if WP were actually controlled by one entity, but currently it's dominated by factions and infighting.
            • dspillett 3 minutes ago
              Fair point. I thought that had died down, though for some years I've not had reason to keep particularly informed about the state of WP so I could be missing a lot of hot gossip.
        • ImJamal 37 minutes ago
          They have hosted instances as well though. Not sure their market share though.
      • bombcar 43 minutes ago
        Because the CEO of Wordpress has gone insane, basically.
        • nicce 30 minutes ago
          Automattic is on the list, tho.
      • 12837615 17 minutes ago
        WordPress is down right now. A bit late for patching though ...
      • LoganDark 17 minutes ago
        I agree, WordPress should be like the first thing they point out. I'd imagine most WordPress users don't even know it runs on PHP
    • consp 14 minutes ago
      > https://www.php2shell.com/

      Boy, do I hate these PR websites masquerading as vulnerability reports. It's slop all the way down with these companies.

    • Pxtl 14 minutes ago
      Thank you, Wiz Khalifa.
    • freebsd_lovefes 37 minutes ago
      [dead]
  • tux3 1 hour ago
    • simias 57 minutes ago
      >PHP uses longjmp()

      Well off to a good start here.

    • fock 46 minutes ago
      did I skim this correctly that with the mitigation shared this does not (yet) impact fpm-usage and classic CGI (vs. mod_php) is not impacted either?
  • ytxm 58 minutes ago
    Click the associated tag:

    > This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

    Glorious. Today of all days it would genuinely give me pause for caution.

    edit: yeah, really not feeling that: https://github.com/php/php-src/compare/php-8.2.34..php-8.2.3...

    Hopefully just a mistake? But looks like a botched release at the least

    • OJFord 53 minutes ago
      Same on the older few. I'm not sure I understand it though, seems strange you can have a tag for a commit that's only present in a fork?

      Is it perhaps a bit misleading, and only means that there's no branch containing that commit?

      • cyberclimb 44 minutes ago
        It can mean either, it's a consequence of how github optimized their backend storage so a 100 forks of a repo initially take up the same space as 0 forks
      • drdec 36 minutes ago
        main (or master) is just another branch to git.
    • fixkitai 41 minutes ago
      [flagged]
  • basilgohar 8 minutes ago
    This is obviously bad, but in my 20 years of hosting with PHP, I've never had to take the steps of taking down servers preemptively. It's not good, but honestly, and I think the way this was handled could leave a lot to be desired, I think this might be the "worst" we've had with PHP, and it took a while to get here.
  • cholmon 37 minutes ago
    Ondrej might appreciate some monetary love on a day like today.

    https://www.patreon.com/cw/oerdnj

    • aftergibson 22 minutes ago
      Not even $700 a month? Seriously, there must be thousands of highly profitable companies depending on this guy’s maintenance. Once this is all sorted, please hassle your employers to give something back to him!
      • bombcar 14 minutes ago
        Someone tell Ondřej to sell some self-published "guide to PHP" for $200 and we can easily expense that.
        • sixhobbits 3 minutes ago
          Yeah this, I always see so much hate towards businesses for finding tax loopholes or not donating etc but people forget that businesses are made of individuals with their own often conflicting subgoals, but overall has to try to maximize profit so they will never voluntarily pay more tax than legal minimum or be philanthropic if they do not have to or do not benefit explicitly.
  • k1kingy 1 hour ago
    Does anyone know how long it takes for the ondrej/php repo to be patched usually?
  • Xyrren 34 minutes ago
    https://ubuntu.com/security/CVE-2026-109618#status fixes have been back ported in Ubuntu LTS versions just now.
    • latexr 14 minutes ago
      It says so on the page, but I’m not being able to get those. I wonder if the servers are being hammered.
  • theturtletalks 3 minutes ago
    If open source has these vulnerabilities, imagine proprietary ones.
  • dstu 47 minutes ago
    So far Ubuntu LTS isn’t picking up the new packages for me via apt update, and Laravel Forge appears completely unresponsive as a result of being flooded by people trying to update their servers.
    • trollbridge 16 minutes ago
      And I'm maintaining a box on 18.04 over here, and lo and behold its Pro subscription isn't showing up as active, so I couldn't get the update even if they do release it.

      Going to migrate the box to Debian in-place. (Or Gentoo, the way things are currently going.)

    • Neil44 26 minutes ago
      Same, I'm spamming the apt update and so far nothing on 22.04 or 24.04 lts
    • janmo 33 minutes ago
      They had plenty of time to prepare for the release, what a shit show
  • bstsb 56 minutes ago
    i just took down all my PHP sites for the last few hours. they’re proxied behind Cloudflare so i know there were mitigations, but infrastructure can’t be breached if it isn’t running!
    • bombcar 41 minutes ago
      Now I need to get the cute name for a vm vulnerability that attacks offline servers ...

      awake2death or something

  • torbengee 8 minutes ago
    Looks like the upgrade instructions for PHP 8.3 for Fedora 39 and earlier are not working ... yikes.
  • julian9499 6 minutes ago
    Anyone know when amazon linux 2023 is releasing updates?
  • petecooper 49 minutes ago
    >Given the severity of these vulnerabilities, the PHP security team provided minimal source-backports for PHP 7.4, PHP 8.0, and PHP 8.1 to help people building from source or without access to an LTS vendor.
  • Amsozzer 46 minutes ago
    Since I have to go through a bunch of php repos today at work I ended up releasing a CLI tool that automates that process by listing out the steps you need to take to stay away from the vulnerability. Here's the link incase it helps anyone https://github.com/Amsozzer1/php2shell-repo-audit
    • trollbridge 17 minutes ago
      Dude, today of all days is not when I'm going to trust some random CLI tool that was vibed out. I'm not saying your work isn't helpful, but it would probably be a lot better to just release your prompts you used to build this and let others build it on their own.
      • Trufa 0 minutes ago
        I really like the idea of sharing details prompts/specs.

        It feels like many times PRs could just be that.

      • Amsozzer 13 minutes ago
        makes sense, will release the docs. thanks!
        • rob 10 minutes ago
          I wouldn't listen to him. This is very helpful to people that might be managing dozens or hundreds of servers and need a way to quickly figure out things. It's literally open source and we can point our agent to it and have it examine the source code for anything that looks suspicious first. No need to sit here for a couple hours trying to go back and forth and create something that you already took the time to do. Thanks for the work!
  • ckbkr10 17 minutes ago
    Sury released backports for older versions, as always hes incredibly reliable.
  • tuyuri 1 hour ago
    Versions: 8.2.35 8.3.36 8.4.27 8.5.12

    Now are available in the php-src github

  • dmtroyer 51 minutes ago
    Have we ever seen the "get ready for a security release tomorrow" email before?

    https://www.php.net/archive/2026.php#2026-10-20-1

    • bombcar 40 minutes ago
      Many vendors do it, but on a set schedule "patch Tuesday" and some will release vague "mitigation steps" but honestly those usually come with the patch.
  • abbbi 56 minutes ago
    debian trixie just rolled updates.
  • iamcreasy 44 minutes ago
    Does anybody know when Amazon Linux 2023 will get this release?
  • f311a 33 minutes ago
    This reminds me of the old days when PHP was such a vulnerable language.

    By simply searching for websites that used local includes to load other pages, you could get RCE.

    At this point, running webapps in JS workers/sandboxes sounds like a good idea. Vendors take care of patching.

    • dannyw 16 minutes ago
      Have a search for V8 RCE/CVEs over the past year.
  • charcircuit 59 minutes ago
    • CodeCompost 52 minutes ago
      It says "3 days ago". The tag is 2 days old.

      I assume it just got pushed?

      • invokestatic 51 minutes ago
        Yeah… it was patched in the source 3 days ago. Check the linked GHSA.
  • cowlevel 53 minutes ago
    So they've added malloc fail checks and tests for malloc fail throughout.

    Is this even reachable on Linux due to overcommit? Maybe by attempting a single extremely large allocation?

    • antiloper 40 minutes ago
      PHP is tracking its own memory usage internally with limits configurable via php.ini.
  • jdw64 16 minutes ago
    What I've been feeling lately is that security vulnerabilities will inevitably keep being discovered, and I worry whether humans can ever patch all of them.
  • DonHopkins 41 minutes ago
    Time to restart Apache again!

    "I'm not a real programmer. I throw together things until it works then I move on. The real programmers will say 'Yeah it works but you're leaking memory everywhere. Perhaps we should fix that.' I’ll just restart Apache every 10 requests." -Rasmus Lerdorf

    • bombcar 40 minutes ago
      Amusingly enough restarting php after each request seems to block the issue
  • bombcar 1 hour ago
    What I did on our WordPress boxes while waiting for distro packages (CVE-2026-109618 / CVE-2026-109619)

    1. session.upload_progress.enabled = Off, in php.ini and as php_admin_flag in every FPM pool, so per-directory config can't turn it back on. It's one of the two confirmed consumers in GHSA-6wmf, and the validated FPM path depends on it. Almost nobody uses it, and the advisory suggests leaving it off even after patching.

    2. Refuse multipart request bodies at the web server, before PHP parses them. All of the GHSA-w8hw out-of-memory strategies go through multipart parsing. On Apache it's a rewrite rule matching a Content-Type of multipart/form-data that returns 403. On Caddy it's a header matcher that responds 403. The cost: every browser upload breaks (media library, plugin zips, importers). Check your public forms first.

    3. Check your SAPI. Both bugs have confirmed RCE against mod_php. FPM is narrower: the validated path needs upload_progress, and the early INI consumer only applies if your front end sends PHP_VALUE/PHP_ADMIN_VALUE. To check, grep your Apache, nginx and Caddy configs for it, and run apache2ctl -M | grep php.

    4. pm.max_requests = 1 in the pools. A worker serves one request and exits, which breaks the stale-state chain: the "producer" and "consumer" requests must land on the same worker. It costs a fork per request.

    5. Lower max_input_nesting_level and post_max_size, per the advisory.

    6. Housekeeping that should already be done: no .php served from uploads directories, and remove any stray phpinfo.php. Scanners request it constantly, and it tells an attacker your exact build.

    • dwedge 50 minutes ago
      This is just Claude output. Did you verify anything or just rehash the links?
      • bombcar 36 minutes ago
        It's just Claude output of what I've done; the other URL has the basics.
      • mistertrotsky 41 minutes ago
        HN should ban comments that are just Claude output
        • throawayonthe 26 minutes ago
        • whycome 31 minutes ago
          I’d rather just some sort of tag. Because sometimes it can be useful. This is a case where the community here can scrutinize the output and actually pull out useful data or steps or even starting points when information is coming in so fast for a developing story/issue
          • bombcar 25 minutes ago
            The (pretty obviously Claude'd) responses with actual steps you could take to mitigate were 1000% more useful to me than the "SHUT EVERYTHING DOWN WE'RE GONNA DIE" and the "stop posting AI slop" posts were, that's for sure.
            • dwedge 4 minutes ago
              It was your response. Of course you prefer your response.

              The fact is you had no idea how useful or dangerous your advice was. PHP maintainers said to shut it down, how many people followed your advice instead? Did it work or just leave them vulnerable? Do you know?

              Because you're heavily implying that the people who knew about the details of the vulnerability were panicking and thank god we had you with an LLM

      • DonHopkins 37 minutes ago
        Why don't you do something useful and rewrite it so it's not claude output any more, but says the same thing in a way that you're satisfied with?

        Then your own comment would not be such low effort and useless human slop.

        Do you agree or disagree with the comment's claims? Did YOU verify anything? Let's all hear you fact check and proofread and reword what it said so it matches your standards, instead of just listening to you bitch and complain without offering any useful information.

        Or do you not actually know anything about PHP administration, programming, and security, so you're only capable of information-free drive-by anti-ai posts, without any other useful content or corrections?

        Ball's in your court.

    • bombcar 56 minutes ago
      [flagged]
  • Maxious 1 hour ago
    [dead]
  • hizlikovboy27 54 minutes ago
    [dead]
  • magar_fos 54 minutes ago
    C'mon Ondřej..
  • rvz 34 minutes ago
    PHP is done.
    • rkozik1989 21 minutes ago
      People have been saying this for the past 16 years, but the reality is once a system is in production over time it becomes increasingly risky to replace it. Because over the life of a piece of software you make tons of small fixes, resolve bugs, adding customer-specific functionality, etc. that you'd completely overlook when planning our requirements for a rewrite. Which is a big problem when other systems are dependent on the software operating a specific way i.e. APIs, web services, and so forth. Not to mention the economics of a rewrite also has to make sense. Nobody is going to spend 2-3 years recreating what they already had and get no additional functionality out of it. Certain software basically has to get so bad that literally anything replacing it is better than what came before for replacing it to be the right approach.
    • antiloper 26 minutes ago
      Just how debian was done after weak keys, OpenSSL was done after heartbleed, or Windows was done after (rolls dice) the print spooler RCE
  • EGreg 50 minutes ago
    For anyone who can't patch their PHP for some reason, here is a proxy that eliminates the threat for you -- it's open source, you can add it to your servers:

    https://news.ycombinator.com/item?id=50181752

    https://github.com/Qbix/proxy -- open source MIT licensed, I made github actions compile it as a Cosmopolitan binary so it can work across many operating systems (thanks Justine)

    I wrote it so I could deploy it myself on our old nginx + php-fpm setups, thought I would share. It should work with all top servers (nginx, apache, caddy etc)

    • import 36 minutes ago
      Hi, your build is failing my friend.
      • EGreg 34 minutes ago
        You're right – need to fix the Cosmopolitan build in GitHub actions. On it!

        UPDATE: Just going to ship a Linux binary for now, that's where most hosting is. Almost no one hosts from a MacOS or Windows machine. The Cosmo binary was overkill here.

    • julkali 44 minutes ago
      Please stop pushing your slop to profit off the situation.
      • antiloper 30 minutes ago
        Surely the "structual fix" for a use-after-free is a pile of unreviewed C code! I don't see any problem here.
        • EGreg 27 minutes ago
          It's free, MIT open source. It was the best I could do. Run it under a Linux user with no permissions to access anything. All it's supposed to do is proxy requests. Don't give it access to any files.
      • EGreg 42 minutes ago
        You know, normally I'd be okay with these comments, but in this case you're actively hurting a lot of people by this bullshit. Many people need something other than patching PHP.

        It's free and MIT licensed, open source and it is currently the only alternative to patching your PHP. The "profit" is for people who don't get PWNED today!!!

        Many people can't patch your PHP. If you can't be bothered to even look at the repo, you may want to sit this one out.

        https://github.com/Qbix/proxy

        • klausa 39 minutes ago
          In what circumstances would you be unable to patch your PHP, but able to stand this proxy in front of it?
          • bombcar 35 minutes ago
            The one we're in right now, where we're waiting for vendors to rebuild the packages (I'm ass-blasted that the delay to 14:00 UTC wasn't for the vendors to build packages but seems to be a PR stunt?).
            • kalleboo 29 minutes ago
              Apparently they didn't even use the time to prepare official docker images
          • EGreg 34 minutes ago
            [flagged]