Lambda runs your Express app; patch Brotli
Also: a Laravel auth bypass, a body-parser crash, Kimi K3.1 Pro and live profiling for Workers.
The main thing

You might be running an Express or Hono app on Lambda inside an adapter that never quite fit. You can take the adapter off. AWS now runs a standard Node.js server that listens on a port on Lambda, with no changes.
Lambda Web Functions accept Express, Hono, Fastify, Next.js or any Node.js framework. You deploy with one command and get back an HTTPS endpoint. One warm execution environment serves many requests at once, which cuts cold starts. Responses can stream, so server-side rendering and token-by-token LLM output work without a separate hosting layer.
Billing changes too. You pay for active CPU time and memory, and you do not pay for CPU time spent waiting on a database or an API. That suits I/O-heavy backends. The catch is that memory is billed for the whole life of the execution environment.
- Runtime: Node.js only. Python, Java and .NET stay on traditional Lambda.
- Regions: Northern Virginia, Ohio, Oregon, Tokyo and Ireland. Requests go to the closest Region.
- Domain: a Lambda-provided domain by default. Put CloudFront in front for a custom domain, edge caching or AWS WAF.
- Existing functions: now called Lambda Event Functions. No changes required.
Reactions are mostly warm. One commenter notes that many workloads can now skip API Gateway, then names the real gotcha: with many requests in one environment, "you might need to be sync/mutex aware." Module-level state that was safe when one invocation meant one request is now shared. Google Cloud Run and Azure Container Apps already offer the same model, with no adapter and configurable concurrency.
What to do today: nothing urgent. If you run Node.js behind a Lambda adapter in one of those five Regions, try moving one service. First, look for global mutable state that assumes one request at a time.
Quick bits
Brotli bug allows remote code execution: OpenAI found an unauthenticated RCE in Brotli, the compression library inside Node.js, Bun and Envoy. A malicious client can take over a server that accepts compressed input. A malicious server can take over a client that accepts it, such as curl --compressed.
- The code fix landed in Brotli in February, but no release followed at the time. OpenAI says Brotli has since cut new releases and published a CVE; Bun's advisory tracks it as CVE-2026-111497.
- OpenAI says Node.js has released, or is releasing, security updates.
- One HN commenter says it looks like brotli 1.2.0 and earlier are vulnerable. The Python package is fixed in brotli==1.2.1.
- What to do: take the security update from each runtime or library that bundles the C Brotli library, such as Bun 1.4.4. Not every build is affected: a commenter notes the Rust brotli crate is not a binding to the C library. Until you can update, a commenter suggests turning off br content-encoding on both sides. (discussion)
Cloudflare Workers get production flamegraphs: since October 9, you can take on-demand CPU or heap-allocation profiles of a live Worker, or of one named Durable Object, from the dashboard or the cf CLI. Profiles download for pprof. Each capture covers a short window, so the target needs traffic while it runs. Turn on source maps for TypeScript. Cloudflare used it to find leftover Prometheus code; removing it cut a Worker's p99.9 memory from 133 MB to 118 MB, back under the 128 MB limit.
Kimi K3.1 Pro lands on the API: Moonshot's model has a 1-million-token context window and is on the Kimi API now. Moonshot promises the weights by Nov 4. A Highspeed version runs 2-3× faster at twice the price, not counting cache hits. Moonshot reports 65.7% on Terminal-Bench 4.0, just behind Claude Opus 5.5 at 66.4%. HN commenters doubt that benchmark scores match their own testing. (discussion)
Laravel TokenGuard auth bypass (CVE-2026-114509, critical): this affects apps that use the built-in token API guard on some MySQL or MariaDB setups. An attacker can send a crafted non-string credential and log in as any existing user.
- Affected: laravel/framework 13.0.0 up to, not including, 13.29.0, and all versions before 12.68.0.
- Upgrade to laravel/framework:13.29.0 or laravel/framework:12.68.0.
One request can crash body-parser (CVE-2026-111181): this affects apps on default options. A compressed body followed by trailing bytes throws an uncaught exception that stops the process. Parsing runs before routing, so no auth or matching route is needed.
- Affected: 2.0.0 up to, not including, 2.4.0, and all versions before 1.20.9.
- Upgrade to body-parser@2.4.0 or body-parser@1.20.9. If you never accept compressed bodies, you can instead pass inflate: false.
OpenSSL 4.1.0 is a feature release. It adds DTLS 1.3, RFC 8701 GREASE and DTLS in the listener API. It drops Windows-on-Itanium and Windows CE, and commenters gave Itanium a salute. Four known DTLS issues ship with it, so read that list before you turn on DTLS 1.3. (discussion)
GitHub Apps on enterprises are now GA: new permissions cover enterprise rulesets, 2FA requirements, IP allowlists and member privileges, so more automation can stop using classic PATs. GitHub Enterprise Server gets it in 3.24.
Cloudflare frees 100 TB of RAM: probability math showed that pingora-ketama could use about 90% fewer hashes per backend and still balance load. Ring entries also shrank from 8 bytes to 6. Cloudflare rolled the new ring out gradually so it would not empty caches across the network.
Also happening
- undici fetch() can crash Node (CVE-2026-109869): a single response from a malicious server can stop the process. Affected from 6.23.0, 7.18.0 and 8.0.0 up to, not including, the fixed versions. Upgrade to
undici@6.29.1,undici@7.30.1orundici@8.12.2. - Multer async fileFilter crash (CVE-2026-113872): only apps with an async
fileFilterare affected. Affected 2.0.0 up to, not including, 2.5.0. Upgrade tomulter@2.5.0or switch to a synchronous filter. - Echo proxy WebSocket auth bypass (critical, plus three high-severity advisories): on Proxy middleware routes, a rejected upgrade can bypass route-level auth. Affected v4 4.0.0 up to, not including, 4.16.1, and v5 5.0.0 up to, not including, 5.4.1. Upgrade to
github.com/labstack/echo/v4@4.16.1orgithub.com/labstack/echo/v5@5.4.1. - Wasmtime sandbox escape (CVE-2026-115889, critical): a crafted module can escape the sandbox on default Cranelift settings. Affected before 36.0.19, and 37.0.0 up to, not including, 43.0.0. Upgrade to
wasmtime@36.0.19orwasmtime@43.0.0. - vLLM multimodal DoS (CVE-2026-114055): per-request
mm_processor_kwargscan run the server out of memory. Affected 0.7.3 up to, not including, 0.31.0. Upgrade tovllm==0.31.0. - Ruby 4.0.9, 3.4.12 and 3.3.13: all three fix the Onigmo regexp bugs that four GitLab CVEs depend on. Ruby 3.3.13 also carries two security advisories of its own, CVE-2026-80212 and CVE-2026-80213.
- Amazon Corretto October updates: quarterly security updates in 27.0.1.0.10, 25.0.5.0.9, 21.0.13.0.10, 17.0.21.0.10, 11.0.33.0.9 and 8u512.
- Anthropic opens OSS Scanner (announced October 8): free, opt-in AI vulnerability reports for critical open-source projects, sent without human review.
- Anthropic analyzes Claude Mythos 5's unauthorized actions: a follow-up on the August incident during AISI's cyber testing.
- OpenAI cuts frontier training off from the live internet: models use a cached offline web instead. (discussion)
- AI SDK adds a Web Fetch tool: agents on any model read pages as markdown, and you can limit fetches to allowed domains.
- Vercel Connect makes restricted Stripe keys per agent: each agent gets only the permissions it needs, and you rotate keys without redeploying.
- Google Data Agent Kit is GA: 37 skills and MCP tools for Google Data Cloud. The skills only advise the agent; IAM is what enforces limits.
- Block's Dessa: a conversation model trained only on speech. HN is divided on the demo. (discussion)
- Keep Android Open: an advocacy campaign against Google's planned 2027 developer registration for all Android apps. (discussion)
- ClickBench removes pgrust: the merged PR alleges hand-written per-query kernels and cached results. (discussion)
Patch roundup
- Bun: Bun 1.4.4, then rebuild anything made with
bun build --compile - Pillow:
pillow==13.0.0 - @azure/msal-node:
@azure/msal-node@7.1.0 - virtualenv:
virtualenv==21.14.13 - pypdf:
pypdf==6.21.2 - Collabora Online built-in CODE Server (Nextcloud): no fixed version in our source, so check with Collabora and Nextcloud. CISA lists it as exploited.
Today's score: one adapter you can delete and a dozen packages to bump. You've earned the second coffee.