quinta-feira, 22 de outubro de 2026

Linux Kernel Vulnerability Reports Reach Public Lists Before Any Fix: What the ZDI Episode Means 🛡️

Introduction

In coordinated disclosure, timing matters as much as the flaw itself. On 21 October 2026, Trend Micro's Zero Day Initiative (ZDI) sent five Linux kernel vulnerability reports addressed to the private kernel security list, with the public Linux Kernel Mailing List (LKML) and subsystem lists in copy, and a sixth report had gone out the same way the day before. None of the flaws was fixed in the mainline kernel at that point. Greg Kroah-Hartman answered each report asking why it was sent without a patch to a public list, and asked ZDI to fix its submission process ⚠️. Administrators now know the where and the how of these flaws before their distribution ships a fix.

Technical Context: What Was Reported

The reports span the in-kernel SMB server, the network stack and specific drivers 🖥️:

  • Remote code execution in ksmbd: two reports rated CVSS 9.0 target ksmbd, the kernel's own SMB server. An integer underflow in SMB Direct requires an RDMA device, a writable share and SMB Direct enabled. A protocol dispatch race condition, where the handler for one SMB version runs on a buffer of another, needs a share with guest access. ZDI tested both on 7.3-rc3 🔓.
  • skb_zerocopy in the network stack: a local privilege escalation. Kernel developers had already received a report of the same issue from another source the week before, and a patch was expected soon.
  • Drivers and subsystems: an out-of-bounds write in the VMWGFX VMware graphics driver, leading to local privilege escalation, and an uninitialised resource in NVMET, the NVMe over Fabrics target, leading to information disclosure.
  • TCP search-domain query: a stack buffer overflow leading to local privilege escalation, reported the day before the others.
  • Patch status: for the SMB Direct underflow, a fix already sits in a branch prepared for Linux 7.5, and its maintainer asked the reporter to confirm it. The others had no fix in mainline at the time.

Practical Implications: Mitigation While Fixes Travel 🔧

The gap that matters is the time between a flaw becoming public and the distribution kernel that fixes it. With the reports on public lists, that gap is open for anyone who reads them. The two remote paths depend on ksmbd, which gives administrators a clear lever:

  • Disable ksmbd where it is not required. Both remote code execution reports need this server; without it running, they are out of reach.
  • Harden ksmbd where it stays. Disable SMB Direct when there is no RDMA hardware, and remove guest access from shares, which removes what each of the two reports requires.
  • Track the distribution kernel updates. The local privilege escalation and information disclosure flaws are fixed only by a patched kernel, so the next distribution kernel release that carries them is the one to schedule.

Strategic Conclusion

Disable ksmbd today wherever it is not needed, because it is the single component behind both critical reports and the only part of the six that a configuration change takes off the table. For the rest, the protection is the kernel update itself.

The episode also shows why the kernel's disclosure process insists on the private list: a public copy hands the details to everyone at the same moment it reaches the people who can write the fix.

Original report by Michael Larabel published on Phoronix on 22/10/2026, with the original messages in the public LKML archive.



Fonte Original: https://www.phoronix.com/news/LKML-New-Trend-Vulnerabilities

PHP Core Remote Code Execution: What CVE-2026-109618 and CVE-2026-109619 Mean and How to Contain Them

Introduction 🚨

On 21/10/2026 the PHP project released versions 8.5.12, 8.4.27, 8.3.36 and 8.2.35, fixing two memory corruption flaws in the language runtime itself: CVE-2026-109618 (remote code execution via out-of-memory corruption) and CVE-2026-109619 (remote code execution via stale global state). Both are rated 9.2 in CVSS 4.0 and classified as critical by the project. NVD scores them 9.8 in CVSS 3.1, while SUSE and Red Hat score them 8.1, giving attack complexity as high.

Because the defect sits in the interpreter, the application does not matter. Every PHP installation that serves web requests is in scope: PHP-FPM, Apache with mod_php, php-cgi, FrankenPHP and LiteSpeed. The highest risk is mod_php, where the project demonstrated an unauthenticated request that triggers the attack before any application code runs.

Technical Context: Two Ways to Corrupt a Request 🔓

Both flaws are use-after-free conditions in request lifecycle handling:

  • CVE-2026-109618, out-of-memory corruption: PHP used longjmp() to leave the current context on an out-of-memory error. Request memory could be reachable before it was fully initialised, so a failed allocation left it invalid, and request shutdown then read or branched on that state. The advisory describes multipart parsing routes to the out-of-memory condition: a request without a usable content length, unlimited headers per part, and empty file controls combined with nested field names. Apache mod_php runs request shutdown even when startup fails, which exposes the invalid state before the application runs.
  • CVE-2026-109619, stale global state: worker-retained state (error, session, object and extension state) points into request-owned memory and must be reset before that memory is released. A fatal error, including an out-of-memory or an execution timeout, can abandon an operation before the reset, and a later request on the same worker uses the stale pointer. Confirmed paths are session upload progress, validated against mod_php and FPM, and PHP 8.5 with fatal_error_backtraces enabled.

The fix removes longjmp() from out-of-memory handling, replacing it with a delayed soft limit at the next safe point of the virtual machine and an immediate hard exit at a higher threshold 📊.

Who Found It and Exploitation Status ⚠️

According to the PHP Foundation, the first signs of the out-of-memory problem appeared in 2024, while a core developer fixed an issue from the Quarkslab audit, without a concrete attack vector. On 11 August 2026, Ryan A of Calif and OpenAI independently reported an unconditional remote code execution with the same root cause. Wiz reported further vectors on 24 August and OpenAI more on 18 September. The project does not state when the defect was introduced; Help Net Security describes the flaws as present for decades.

The disclosure did not go as planned. On 20 October the CVE identifiers circulated early with a wrong score, Calif published a proof-of-concept video by mistake, and on 21 October fixed container images went out more than six hours before the embargo. The PHP security team had not identified a functional exploit at release time, but proof-of-concept activity increased afterwards. Amazon Threat Intelligence recorded an exploitation attempt on 17 October, four days before disclosure, according to Help Net Security, and NetSPI reports exploitation confirmed in the wild since 21 October. Cloudflare deployed initial WAF rules for known vectors.

Installations still on PHP 7.x or 8.1 receive no official release from the PHP project, only minimal source backports or a distribution vendor fix.

Practical Implications: Updating and Containing 🔧

Updating is the only complete fix. Install the patched package from the distribution and then restart every PHP worker and the web server, since an already running worker keeps the vulnerable code in memory. On SUSE Linux Enterprise Server 15 SP7 the fixed php8 8.3.36 package is published as SUSE-SU-2026:4844-1 and installs with zypper patch; SUSE Linux Enterprise Server 16.0 has 8.4.27 in QA. Red Hat publishes its procedure in bulletin RHSB-2026-013.

Until the package arrives, the project lists measures that reduce specific attack paths without making an installation safe:

  • memory_limit=-1, pinned so applications cannot override it, for example with php_admin_value in the FPM pool or the Apache configuration. Use a container or cgroup limit as the availability boundary, never RLIMIT_AS or RLIMIT_DATA, which can cause the vulnerable allocation failure.
  • post_max_size low: 8M when there are no uploads, 32M when there are, with upload_max_filesize below it.
  • Request limits at the web server or proxy: decoded size, number of input fields, multipart parts, headers and nesting depth, including requests without a usable Content-Length.
  • session.upload_progress.enabled=0, and on PHP 8.5 fatal_error_backtraces=0, followed by a restart of every worker.
  • Settings applied through php.ini, the FPM pool or the server configuration, never through ini_set() or .user.ini, and invalid or deprecated per-request settings removed, since their diagnostics run before initialisation.
  • pm.max_requests=1 on FPM, where performance allows, to shorten the life of stale state.

Strategic Conclusion 🛡️

Patch the PHP package and restart every worker today, starting with servers running Apache mod_php, because that is where the project demonstrated remote execution without authentication and before any application code. The configuration measures buy time on systems that cannot be updated at once, and PHP 7.x and 8.1 installations need a plan that ends on a supported branch.

Security announcement published by the PHP project on 21/10/2026, with the PHP Foundation timeline, the php-src advisories and SUSE bulletin SUSE-SU-2026:4844-1.



Fonte Original: https://www.php.net/archive/2026.php#2026-10-21-5

quarta-feira, 21 de outubro de 2026

The Rise of AI Slop: Navigating the Influx of Low-Quality Contributions in Open Source

The landscape of open-source development is undergoing a seismic shift driven by the rapid integration of Generative AI. While the promise of increased velocity is undeniable, a new phenomenon known as "AI Slop"—uncritical, unverified, and low-quality code generation—is beginning to clog the very pipelines that sustain global digital infrastructure. Recent findings from Linux Foundation researchers highlight a troubling trend: approximately 25% of all pull requests received by maintainers are now classified as AI slop. In large-scale, mission-critical projects, this figure climbs even higher, with up to 31% of incoming contributions consisting of low-quality noise that threatens to overwhelm the entire review ecosystem 🤖.

Architectural Impact and Infrastructure Strain

From a structural perspective, the influx of AI-generated content is not merely a matter of "bad code"; it is an architectural bottleneck. The fundamental workflow of open-source maintenance relies on a high-signal-to-noise ratio to ensure that human cognitive load is directed toward complex logic and security vulnerabilities. When the volume of submissions spikes due to automated, uncritical generation, the review pipeline becomes congested.

The data presents a striking paradox in developer productivity:

  • Efficiency Gains: AI automation has successfully reduced average code writing time by 52%, allowing for rapid prototyping and boilerplate generation.
  • Latency Bottlenecks: Conversely, complex tasks show increased latency for 21% of developers, as the effort required to audit "slop" outweighs the speed of its creation.
  • Governance Deficit: There is a massive gap in formal infrastructure management, as only 35% of active projects possess explicit governance policies regarding the usage of Generative AI.
Without formal guidelines, the infrastructure of open source becomes a dumping ground for unvetted outputs, turning a collaborative engine into a high-latency processing queue 📊.

Practical Implications: Operational Exhaustion and Security Risks

The practical consequences of this trend extend far beyond simple code reviews. We are seeing a phenomenon of operational exhaustion among maintainers of essential core projects, such as the curl project. These engineers, who act as the gatekeepers for much of the internet's underlying plumbing, are now facing an unprecedented surge in duplicate reports and false positives generated by AI-assisted bug-hunting tools 🛡️.

The impact ripples through different organizational layers:

  • Maintainer Burnout: The sheer volume of unvetted pull requests forces maintainers into a state of constant triage, where they must distinguish between genuine innovation and automated noise.
  • Security Triage Collapse: Security teams are particularly vulnerable. They are now forced to process an influx of low-severity vulnerabilities that appear in public repositories, often triggered by AI tools misidentifying patterns. If not managed, this can lead to a total collapse of the security triage pipeline ⚠️.
  • Technical Debt Accumulation: Uncritical use of GenAI introduces subtle logical errors that may pass automated tests but fail under edge-case architectural constraints, creating long-term maintenance burdens.

Strategic Conclusion: From Burden to Engine

To prevent the degradation of the open-source ecosystem, we must move beyond the uncritical adoption of AI tools. The transition from viewing AI as an operational burden to utilizing it as a secure participation engine requires a dual-pronged strategy. First, project maintainers must implement clear, formal usage policies that define the boundaries of acceptable AI contribution. Second, there is a critical need for the development of advanced automated filtering and validation tools designed specifically to intercept "slop" before it reaches human reviewers.

The goal is not to reject automation, but to refine it. By integrating intelligent pre-submission validation layers, we can ensure that the efficiency gains of AI are not neutralized by the overhead of its errors. We must transform the current wave of noise into a structured stream of high-quality, verified intelligence 🔧.



Fonte Original: https://www.theregister.com/ai-and-ml/2026/10/21/ai-cuts-coding-time-but-its-also-filling-open-sources-inbox-with-crap/5304389

domingo, 18 de outubro de 2026

Twenty-Five Years of Suspicion, Explained: How the NIST Elliptic Curve Seeds Were Generated

Introduction 🤖

In 2000, NIST published FIPS 186-2 with a set of elliptic curves that went on to secure TLS, SSH, code signing and countless embedded devices. Each of those curves was built from a seed: a public number fed into a hash to derive the curve parameters. The seeds came from the NSA, with no explanation of how they were chosen, and that silence kept a question open for more than 25 years: could the agency have searched for seeds that produced curves with a weakness only it knew about?

On 16/10/2026, Anthropic's Frontier Red Team published the answer. An internal Claude research model, given the published seeds and no prior theory, found in under half an hour that they are outputs of an ordinary C library random number generator seeded with the clock of a computer running in 1997 and 1998. The result is not a break of ECDSA, not a new attack and not a weakness in the curves, as the authors state explicitly.

Technical Context: How a Verifiably Random Curve Is Built 🔐

The NIST curves follow the "verifiably random" method from ANSI X9.62. A seed goes into SHA-1, and the hash output determines the curve coefficient b. The idea is that nobody can pick b directly: anyone can recompute the hash and confirm the curve came from the seed. The weak point of the method was always the seed itself. If whoever generated it could try millions of seeds and keep the one that produced a curve with a hidden property, the hash would only hide the choice.

The reconstruction shows how the seeds were actually produced:

  • Generator: lrand48, the 48-bit linear congruential generator of the C standard library, initialised with srand48(time), where time is the machine's Unix timestamp.
  • Prime-field curves: P-192, P-224, P-256, P-384 and P-521 match timestamps between May 1997 and April 1998. The P-256 seed corresponds to 16 August 1997.
  • Binary curves: B-233, B-283, B-409 and B-571 match the same method with the clock halved; read raw, the timestamps fall in February 1984, and doubled they land on 17 April 1998.
  • Example curves of ANSI X9.62: prime192v2, prime192v3 and prime239v1 to v3 were recovered as well.
  • Base points: for P-192 and the ANSI prime curves, they come from the random number generator of Arjen Lenstra's FreeLIP library, which early versions of Victor Shoup's NTL also shipped.

The earlier theory, that the seeds were the hash of a humorous passphrase, turned out to be wrong. The authors released reproduction code under CC0, and its outputs match the published seeds and base points 📊.

Practical Implications: What Changes and What Does Not ⚠️

For anyone running P-256 or P-384 today, nothing changes. The seeds were always public, so recovering how they were made exposes no secret, and private keys generated on these curves are unaffected. What changes is the weight of the backdoor hypothesis. A simple, reproducible generator fed by the clock leaves little room for a deliberate search for weak curves; the authors note that such a search would only succeed if weak curves were common and easy to find, which would be a problem of its own.

The result does not close every question, and the authors are explicit about the gaps:

  • Some viable candidate seeds were skipped for unknown reasons; for P-256, candidate 876 was passed over.
  • The number of times the generation program ran is unknown.
  • The seed of the fifth binary curve, B-163, remains unexplained.
  • The base points of P-224, P-256, P-384, P-521 and the NIST binary curves remain unexplained.

There is also a side lesson. A clock-seeded lrand48 is perfectly adequate for producing public parameters, and completely inadequate for producing secret keys: anyone who knows roughly when such a key was generated can recreate it. The NIST seeds were safe only because they were never meant to be secret.

Bitcoin sits outside this discussion. It uses secp256k1, a curve defined by two small fixed numbers rather than a hashed seed, so the question of a manipulated seed never applied to it.

Strategic Conclusion 🛡️

Keep the NIST curves where they are deployed. The research gives no reason to migrate, and the reproduction code lets any team verify the claim instead of trusting it. Curve choice still deserves attention for a different reason: quantum computing threatens elliptic curve cryptography regardless of how a curve was generated, and post-quantum migration plans should move forward on their own schedule.

The episode also shows the value of transparency in standards. Parameters published with their full derivation, as later designs such as Curve25519 did, never need a 25-year investigation. The $36,864 bounty organised by Filippo Valsorda for the seeds will be donated to the Internet Security Research Group, the non-profit behind Let's Encrypt, and the authors honour the memory of NSA mathematician Jerry Solinas, who died in 2023.

Original research published by Anthropic's Frontier Red Team on 16/10/2026, reported by Shaurya Malwa on CoinDesk on 17/10/2026.



Fonte Original: https://www.anthropic.com/research/ecdsa-curve-origins

quinta-feira, 15 de outubro de 2026

Deep Dive into PwnEscape: Analyzing the CVE-2026-99999 Virtualization Escape Vulnerability

Introduction 🛡️

In the modern era of cloud computing, the integrity of multi-tenant environments relies entirely on the strength of isolation boundaries. A recent critical vulnerability, identified as CVE-2026-99999, known colloquially as PwnEscape, has sent ripples through the cybersecurity community. This vulnerability resides within the Linux kernel's network subsystem, specifically targeting the code responsible for packet processing. The core of the issue lies in a breakdown of the abstraction layer that separates a guest virtual machine (VM) from its underlying host hardware. When an attacker can bypass these boundaries, the fundamental promise of cloud security—that one user's workload cannot interfere with another's—is effectively nullified.

Technical Context: Architecture and Infrastructure 🌐

To understand the gravity of PwnEscape, one must examine the architecture of modern microVM and sandboxed environments. These infrastructures are designed to run untrusted code in highly restricted "guest" containers or lightweight virtual machines. The security model assumes that the kernel network component acts as a controlled gateway, mediating all traffic between the guest and the host 🖥️.

The vulnerability exploits a flaw in how the Linux kernel handles specially crafted network packets. By manipulating the structure of these packets at the driver or protocol level, an attacker can trigger an out-of-bounds read within the host's memory space. Technically, the mechanism functions as follows:

  • Packet Crafting: The attacker initiates a transmission from within the guest sandbox using malformed headers.
  • Memory Leakage: The kernel network component fails to properly validate packet boundaries, allowing for the exfiltration of approximately 32 bytes of host memory per transmission 📊.
  • Isolation Bypass: This leak is not merely informational; it provides a window into the host's address space, effectively bridging the gap between the isolated guest and the physical server's administrative layer.

The infrastructure impact is particularly severe for environments utilizing high-density microVM architectures, where the kernel's role in managing shared network stacks is paramount to maintaining security 🏗️.

Practical Implications: From Data Leaks to System Crashes ⚠️

The practical implications of PwnEscape extend far beyond simple data exposure. In controlled laboratory environments—specifically those configured to mirror high-scale production environments like Vercel—the vulnerability demonstrated a progression from information disclosure to total system compromise. This transition is critical for security engineers to understand:

  • Information Exfiltration: The ability to read host memory allows for the theft of sensitive environment variables, API keys, and cryptographic secrets belonging to other tenants 🔑.
  • Denial of Service (DoS): Laboratory tests confirmed that exploitation can lead to complete host crashes, resulting in large-scale service disruption across entire cloud clusters 📉.
  • Privilege Escalation: The leap from a restricted user in a microVM to administrator control on the physical server represents the ultimate failure of the sandbox model.

For organizations operating shared workloads, this means that a single compromised or malicious tenant could potentially destabilize the entire infrastructure, leading to significant downtime and loss of customer trust ☁️.

Strategic Conclusion: Mitigating the Escape Risk 🔧

The discovery of PwnEscape serves as a stark reminder that even the most robust abstraction layers are only as strong as the underlying kernel code. As we move toward more granular, serverless, and micro-segmented architectures, the surface area for such network-based attacks continues to evolve. The strategic response must be two-fold: immediate tactical remediation and long-term architectural hardening.

Immediate Action Items:

  • Patch Management: There is an urgent requirement for the immediate application of security patches to all Linux kernels across the fleet 🛠️.
  • Kernel Auditing: Security teams should implement enhanced monitoring on network-level anomalies that might indicate packet-based exploitation attempts.

Long-term Strategy: Organizations must move toward a "defense-in-depth" approach, ensuring that even if a virtualization escape occurs, secondary layers of security (such as hardware-level encryption and strict eBPF-based network filtering) are in place to contain the blast radius. Ensuring the integrity of the abstraction layer is not just a maintenance task; it is a fundamental pillar of modern cloud sovereignty 🛡️.



Fonte Original: https://thehackernews.com/2026/10/critical-pwnescape-linux-kernel.html