179 pointsby rfarley048 hours ago23 comments
  • lorenzbrun7 hours ago
    I'm pretty sure this is not the vulnerability that's still officially under embargo. I think I found the the two actual vulnerabilities (both UAFs and similar). I patched my own stuff (at least I hope so) and am mirroring traffic to a detector, very interested to see when I get the first hits. Unless I see actual exploit attempts or a full leak I think I'm not going to publish my patches yet.
    • 7 hours ago
      undefined
  • InvisibleUp7 hours ago
    This may be, according to one of the PHP devs, a completely unrelated exploit. See https://phpc.social/@Girgias/117476477429221001. Seems the best stopgap is SELinux or AppArmor.
    • charcircuit7 hours ago
      You misread. He is saying that the multipart UAF vulnerability part of the overall exploit can't be fixed by session.upload_progress.enabled = off or any other ini option for that matter.
      • 4ndrewl6 hours ago
        Which is also what tfa says btw
  • idlewords6 hours ago
    I guess the future is people arguing in comments whether a high-severity vulnerability is the one under embargo, or one of various unrelated devastating bugs discovered when people got wind of the embargo and pointed their AI agents at the codebase.
    • SSLy5 hours ago
      the future is now, eh.
  • iambateman7 hours ago
    I turned the server off on our app until this storm is over.
    • tosti7 hours ago
      Yeah, the circuit breaker is the best firewall!
  • lionkor7 hours ago
    Someone uses Claude to role play as a hacker... Yikes
  • 80fj0348i7 hours ago
    Previously submitted with a much better source: https://news.ycombinator.com/item?id=50172041
    • tech234a7 hours ago
      This one claims to actually be an exploit. The other was an announcement from PHP without details.
    • lifeisloving7 hours ago
      How is this a better source, the current post is a PoC? This is just a warning...

      You're not even reading the things you're saying are worse, and reccomending things that arent what you say they are (because you didnt read those either)

  • Mooty7 hours ago
    If you use Nginx, you can temporarly block the subject by disallowing multipart sendings to PHP. This is quite a problem for a lot of forms, but way better that being hacked.

    Here is an Nginx patch : if ($http_content_type ~* "multipart") { return 403; }

    You can also turn of session progress in php.ini as mentionned but that does not seem to cover every cases : session.upload_progress.enabled = Off

    • Mooty6 hours ago
      After digging a little in the PoC code (here https://jackalsyn.com/posts/php-up-2026.html) I'm quite confident it's not a completely working one.

      It assumes PHP frees the upload progress data when it reloads the session. But PHP 8.4 (the one we use is 8.4.24, i don't know for other versions) calls Z_TRY_ADDREF(progress->data) to keep that data alive. The fake function call also seems to contain invalid fields.

      This makes me question this particular PoC, not the official PHP security warning. I have not reproduced the exploit, so this is a concern based on reading the code, not proof that the real vulnerabilities cannot be exploited.

      But anyway the CVE still exists, and the exploitation is tied to multipart, disabling it seems the best thing you can do now without shutting everything down.

  • dataflow7 hours ago
    If I have a PHP site that doesn't require uploads, how exactly do I disable enough of multipart/form-data POST handling in PHP to mitigate this?
    • bulatb7 hours ago
      Block it at your web server before it reaches PHP. Ctrl+F "nginx" or ".htaccess" in this thread for configs.
  • hemlock45932 hours ago
    Disabled everything except GET requests and hope it holds until 2pm
  • ffritz6 hours ago
    Any idea if Cloudflare in front of an unpatched site would prevent this? They did 2 updates already today to their managed rulesets but are not specifying what.

    https://developers.cloudflare.com/waf/change-log/changelog/

    • AdamTReineke6 hours ago
      https://x.com/dok2001/status/2112702593705312467

      "We got you covered" - Dane Knecht (Cloudflare CTO)

      • eurleif5 hours ago
        Now deleted, and replaced with: https://x.com/dok2001/status/2112802620029223193

        "Cloudflare has protections in place for known exploit payloads. There will be more variations to come and the only way to fully protect your site is to update php once released."

      • mopsi6 hours ago
        A little too vague for my comfort.
    • indigodaddy6 hours ago
      CF in front can mess about with L7?
      • minitech6 hours ago
        Yes? How did you think Cloudflare and other WAFs worked?
      • honeybadger12 hours ago
        A WAF is primarily working at L7.
    • Hamuko6 hours ago
      I think putting my PHP site behind Cloudflare would be the least I would do if I wanted to keep it online before PHP can be patched. The other alternative is trying to block multi-part uploads before they reach PHP.
      • mklepaczewski3 hours ago
        Make sure to create CF tunnel to your server and to reject all traffic frin other sources, or to accept traffic only from known CF ips. Otherwise, you're still exposed, even if CF WAF works.
  • nilslindemann6 hours ago
    "Posting, captcha, sign-in and other dynamic pages are offline while we apply an urgent PHP security update" - https://4chan.org/
  • e12e7 hours ago
    Can anyone get the sha to match the download? (Given as a29d640e0481ff64a39541faeeeec0f998ecd18fb692816e75a6bcfa0f683017 in TFA)
  • synack7 hours ago
    It’s use-after-free where the “use” is execution of arbitrary code. Yeah, that’s pretty bad.
  • 65107 hours ago
    .htaccess

        <If "req('Content-Type') =~ /multipart/i">
            Require all denied
        </If>
    • secabeen6 hours ago
      This appears to have global effect if placed in a <Location> block in the root apache2.conf:

        # PHP 20261020 Remediation (Global)
        <Location />
          <If "req('Content-Type') =~ /multipart/i">
              Require all denied
          </If>
        </Location>
  • TekMol7 hours ago
    What about servers that run PHP from the Debian repos?

    How fast will the repos be updated?

    • euph0ria7 hours ago
      On Reddit they stated that Ondrej is aware of the issue
  • shevy-java7 hours ago
    That website looks weird - was it AI coded?

    It is visually interesting but also annoying. I hate to admit it, but as I grow older, I may get dumber and I much prefer simplicity at all times.

    As for PHP: it also is a bit weird how programming languages have not yet all fixed existing bugs. Has not AI been used to find bugs or assumed bugs? Why are bugs found in old code still?

    • redox997 hours ago
      Why would they hand code a website for an exploit that they probably found 15 minutes before and will be fixed in a few hours? The copy should have been better though.
      • eviks6 hours ago
        Because it takes less effort to paste text with basic readable formatting than doing this awfulness
      • xaksnTMu27 hours ago
        Well Heartbleed and Shellshock had nice looking sites so we kindoff expect better?
        • redox997 hours ago
          They had more time to prepare
  • hparadiz7 hours ago
    Announcing this thing and then putting an embargo on the fix for 24 hours is by far the most irresponsible thing internals has ever done and I have seen them do some insane shit in the past 20 years.
    • kalleboo6 hours ago
      It may have made sense when finding exploits required some skill and time so 24 hours would be safe enough but now when anyone can just point an LLM at it...
      • hparadiz6 hours ago
        The POC was already out on Sunday apparently. When they announced it they made everyone go looking for it. In the before times even someone with decent cybersecurity and hacking experience might not be able to weaponize a POC. Today anyone can weaponize it immediately.
  • nargek6 hours ago
    That's pure unreviewed slop
  • drum557 hours ago
    The text of this is basically unreadable, any amount of human authorship would be better.
    • groestl7 hours ago
      It's things like "under the attacker's feet" which completely throw me off. While trying to parse the text, my brain tries to imagine a surprised hacker.
      • pfannkuchen7 hours ago
        LLM or Engrish? Reminds me of “thumb rule”.
    • frevib7 hours ago
      It reads like the average PR summary I had to review every day. ‘Had’, because I stopped doing that after being blessed by LGTM https://m.youtube.com/watch?v=3TNpOD6bov8&pp=ygUEbGd0bQ%3D%3...
      • lifeisloving7 hours ago
        Yeah but this AI music is worse than any AI produced code. They're both awful but I really lose all respect for people who think these Sumo songs sound good. Wow I hate that AI musician voice so much.
    • Yokohiii7 hours ago
      It really reads like it was passed 3 times through Claude.
      • raverbashing6 hours ago
        I'd say pass through any other AI that doesn't talk like someone filled with self-importance
    • shevy-java7 hours ago
      I just wrote almost the same thing (I start to write my comments before I read what others say, so that it is not influenced directly what I write). I am glad to come to the same conclusion - this website is both visually interesting as well as very annoying.
    • altmanaltman7 hours ago
      The font is terrible on mobile, cannot tell then difference between a comma and a fullstop at all
    • Davidzheng7 hours ago
      yeah agreed.
  • fwlr7 hours ago
    I can literally feel my eyes physically defocusing trying to read this, and I can’t help but conclude that, at a level below conscious thought, my brain is trying to defend itself from AI-generated text. Perhaps it is more of a cognitopoison than I explicitly knew.
    • coatmatter6 hours ago
      Ctrl-Alt-R for reader view in Firefox, not that it makes the whole thing much more interesting to look at - we'll forget about it all soon enough anyway. Don't forget to tweak the default settings for reader view for a better experience.
  • jogoossens3 hours ago
    [flagged]
  • viccis7 hours ago
    >Steal Everything

    >Leave Nothing

    Cringe larping skiddie nonsense

  • himata41137 hours ago
    Man, my experience with php was never good. Every php project I've encountered eventually had a monero miner infecting the machine as www-data user.
    • AndroTux6 hours ago
      Maybe that’s because you’ve only worked with WordPress with tons of unpatched plugins.

      Every programming language has security vulnerabilities. PHP doesn’t have any more than others.

      • minitech6 hours ago
        > PHP doesn’t have any more than others.

        Yeah it does. Part of it is being a popular starter language before people know what they’re doing, but a lot of it is legitimately terrible language[1] and API design, especially in older versions. It also has CVE-2026-109618, a type of vulnerability many languages aren’t even capable of having (since it wouldn’t be part of the language, and the library that implemented the equivalent would only be present when necessary and usually not written in C - with some exceptions).

        [1] People have already covered this in depth, but here’s a lesser-mentioned taste: https://web.archive.org/web/20261017012819/https://www.php.n... (one section, btw)

        • AndroTux2 hours ago
          > but a lot of it is legitimately terrible language[1] and API design

          Unlike well-thought-out languages like JavaScript, of course.

          What's the saying? A programming language is either bad, or no one uses it. Discussions about flavors of bad in well-established programming languages are a waste of time.