Login
You're viewing the assemblag.es public feed.
  • Oct 22, 2026, 8:27 AM

    OpenAI ambulance chasing the PHP vulnerabilities and pretending they found and disclosed them (they did not) is disgusting. It’s a media play and it’s really gross, and says a lot about OpenAI.

    💬 4🔄 35⭐ 0

Replies

  • 💬 3🔄 4⭐ 2
  • 💬 2🔄 0⭐ 0
  • Oct 22, 2026, 10:07 PM

    If you use Palo-Alto firewalls, make sure you upgrade for the PHP vulns.

    In particular, if you have the mgmt interface facing the internet upgrade those now. The Palo-Alto firewall VMs have ASLR disabled which makes exploitation trivial.

    💬 2🔄 2⭐ 0
  • Oct 22, 2026, 10:10 PM

    Also update Citrix Netscaler boxes for PHP vuln, particularly if you have mgmt interface facing Internet. Why? You guessed it - ASLR is disabled.

    💬 2🔄 1⭐ 0
  • Oct 22, 2026, 10:19 PM

    Also hp system management homepage (installed on HPE Proliant servers) all ship with PHP.. with no ASLR. There doesn’t appear to be a patch for that, you can use it to surf around flat networks as it drops you as SYSTEM/root.

    💬 3🔄 1⭐ 0
  • Oct 23, 2026, 7:51 AM

    There’s absolutely shit tons of exploits for PHP2Shell on GitHub and basically none of them actually work to RCE as nobody can figure out ASLR properly.

    Which is good, because patching is going to take a long time.
    php2shell.censys.com/

    Image attached toot
    💬 3🔄 8⭐ 0
  • Oct 23, 2026, 7:55 AM

    If you’re wondering why your million dollar cybersecurity vendor appliances don’t have ASLR enabled.

    Image attached toot
    💬 6🔄 0⭐ 0
  • Oct 23, 2026, 7:59 AM

    ASLR supporting PHP exploits are coming, probably next week.. but it’s a really good security control (from decades ago) you should demand your vendors actually enable as it enabled time for orgs paying attention to patch.

    The cybersecurity vendor industry itself is essentially negligent when it comes to this stuff. infosec.exchange/@catc0n/11748

    💬 3🔄 3⭐ 0
  • 💬 1🔄 2⭐ 0
  • Oct 23, 2026, 12:29 PM

    PHP Foundation’s budget is about 700k a year. It’s used on something like 40 million websites. Almost no company who uses it contributes anything and many people work on it for free.

    The latest trend is cybersecurity and AI vendors have realised they can vampire off its security for publicity (money).

    Perhaps the world would be a better place if those orgs who rely on it just contributed sponsorship to the foundation, and vendors didn’t monetise vulnerabilities for themselves.

    Image attached toot
    💬 3🔄 8⭐ 4
  • Oct 22, 2026, 8:35 AM

    @GossiTheDog

    Regarding the rumours the PHP patches don’t fix the vulnerabilities - it’s not true, they patched the vulnerabilities of issue.

    Having reviewed their diff, I'm not sure how you can make that claim. Their fix for data corruption in out-of-memory conditions was to add explicit error handling on a huge number of code paths. A change of that level of complexity almost certainly misses error handling from one or more paths that matter. It is not a systemic fix that would address the root cause, it is a load of duck tape applied across the entire codebase.

    I think it's reasonable to claim that it fixes the specific exploit path used in the PoC but I am not at all convinced that it fixes the vulnerability.

    💬 1🔄 0⭐ 0
  • Oct 22, 2026, 11:16 AM

    @david_chisnall Since the blog that describes the exploitation process recommends memory_limit = -1 (disabled) as a mitigation if patching is not possible, I was thinking whether it would make sense as a defense-in-depth measure to run with the internal memory_limit disabled all the time. Instead set up rlimits or cgroups or whatever to immediately kill off workers that hit the limit.

    I don't deal in php much and this probably isn't suited to all installations, but in theory this feels like it should eliminate a class of vulnerabilities stemming from retroactively implemented OOM recovery. @GossiTheDog

    (edit: turns out that convincing Linux to JUST KILL THE FUCKING PROCESS DO NOT SEND ENOMEM DO NOT TRY ANYTHING without resorting to LD_PRELOAD tricks is hard, setting both memory.max and memory.swap.max maybe kinda does it?)

    💬 0🔄 0⭐ 1
  • Oct 22, 2026, 11:01 AM

    @GossiTheDog There's a lot more setjmp/longjmp use in there, which would make it even harder to reason about the code than normal for a project like this. Combine that with trying to handle out of memory conditions without terminating, and I wouldn't be surprised if there are a lot more bugs out there.

    I can understand why you wouldn't want mod_php taking down the web server in these cases, but perhaps that just means putting the language runtime inside the web server is a bad idea.

    💬 0🔄 0⭐ 0
  • Oct 22, 2026, 5:55 PM

    @GossiTheDog well, use AI and risk getting known (and forgotten) because of it.
    I know the AI company is much larger and powerful, and needs the markering hype to survive, but that seems to be the current tradeoff for using AI.

    💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • 💬 0🔄 1⭐ 0
  • 💬 1🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • Oct 23, 2026, 12:44 PM

    @GossiTheDog

    So what Meta (who famously use PHP extensively in what used to be their flagship product) spent on the complete failure that was the metaverse (~$60 billion) could have funded them at current levels for close to 100,000 years

    💬 0🔄 0⭐ 0
  • Oct 23, 2026, 12:55 PM

    @GossiTheDog
    Sure, but they knew about this since 2024!
    So the main issue still is bad judgment on security here, as they invested their time and money obviously on other issues since then…

    💬 1🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • Oct 23, 2026, 10:27 AM

    @eloy @aetios @GossiTheDog

    ASLR adds work factor for attackers but there are a bunch of ways of breaking it. The Blind ROP attacks, for example, are easy to automate. In practice, it's often possible to leak a pointer.

    I really hate the naming because there are two different techniques whose names are the wrong way around. Address Space Randomisation (ASR) was first (I think?) shipped in OpenBSD and randomises each mmap call. The layout of the address space is random. Address Space Layout Randomisation came from the Linux PaX project. It gives a deterministic layout but with a random base. This is nice for deployment: ASR suffers from the problem (especially on 32-bit systems) that the random addresses may be sufficiently fragmented that a later memory allocation fails because there isn't a sufficiently large contiguous space, but it works the next program invocation with different layout.

    With ASR, leaking one pointer lets you determine the addresses of all other memory locations in the same region (shared library, malloc bucket, whatever). With ASRL, leaking one pointer is sufficient to determine the location of everything. It turns out it's really easy to leak one pointer. This is even worse for KASLR because your adversary (userspace) has a rich API surface that was never designed on the assumption that kernel addresses were secret (because the MMU means that you can't use a kernel address, even if you know one) and you just need one.

    The thing that's changed here seems to be LLMs. Now, rather then using exploit toolkits the include automatic mitigation bypass steps, script kiddies are just asking Claude to produce an exploit. And Claude is doing what LLMs normally do: produce output that looks correct according to a statistical distribution of text. When used in an 'agentic' model, it keeps trying to do this until it finds one output that actually works in the specific conditions that the agentic loop is set up to test. It turns out it's not just nature that can build a better idiot, Anthropic is competing hard in this domain.

    The other dimension in this spectrum is the cost. ASLR is basically free. The kernel complexity is tiny (I think the FreeBSD patches had under a hundred lines of functionality change, most of the code was the extra controls for turning it on and off - you really want to be able to turn it off in debuggers, for example, so that your program runs are deterministic, and ideally you want to be able to capture the random seed and replay it so that your debugger can see the conditions that your fuzzer triggered). It also doesn't change the programmer's abstract machine significantly, so if you remove it in the future it won't break things.

    If it adds any work factor to attackers, you may as well turn it on because it will at least prevent the least competent ones. And it's embarrassing if your system can be compromised without any effort.

    💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 1
  • Oct 23, 2026, 9:14 AM

    @uztq @GossiTheDog

    It would be easy to dismiss it as security by obscurity, though it's more than that it's akin to the obfuscation of code.

    The difference is that the layout of addresses should be random each time it's launched.

    But like anything identify the mapping and it's another exercise in lookups.

    💬 0🔄 0⭐ 0
  • Oct 23, 2026, 10:24 AM

    @GossiTheDog
    It's always such a surprise when someone you respect has a dumb take... But then I remember that there are likely so many dumb takes of mine on the internet 😂

    💬 0🔄 0⭐ 0
  • Oct 23, 2026, 8:04 AM

    @GossiTheDog neat page, though it just assumes versions like 7.4 are unfixed, whereas probably many are using Sury’s PHP which definitely patched it (and I think even 5.6).

    There’s probably no better way though to track, so still a useful infographic

    💬 1🔄 0⭐ 0
  • Oct 23, 2026, 8:06 AM

    @mig5 yeah if has clarifications for version numbers not being a bulletproof way. But still, orgs historically very bad at patching so it gives a rough indicator picture. Many are just on raw EOL versions, can also see they’re on EOL Redhat etc.

    💬 1🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • Oct 23, 2026, 11:33 AM

    @GossiTheDog Presumably that may get confused by backports, i know some hosting control panel providers have backported to 7.4 for instance.

    💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • Oct 22, 2026, 2:05 PM

    @GossiTheDog

    And as always these days, if you get news from a media source that is played by this, reconsider keeping them as a media source.

    💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0