October 21, 2026 — A certificate key that was literally the number four
Eight eMudhra certificate keys were compromised, and one was literally the number 4. Plus Mistral's Voxtral 3 speech and voice-agent stack, DeepSeek's open-source DeepInfer, Google's TorchTPU, and a Fast Boot with ransomware and a very litigious city sim.
Show notes
Everything covered in today's episode, with the sources behind each segment.
SEGMENT 1: The Key Was Four
- Cloudflare: eMudhra certificate compromise
- The Register: eMudhra's private keys compromised, one of them was the number 4
- Ars Technica: The internet goes on high alert after discovery of 8 compromised TLS certs
- uv 0.13.4 release
SEGMENT 2: Mistral Gives Your Agent a Voice
- Mistral: Voxtral 3
- Mistral docs: Voxtral Mini Transcribe 3 model page
- Mistral docs: API pricing
- OpenRouter: voxtral-mini-transcribe-3-0
SEGMENT 3: Repo of the Day
SEGMENT 4: Google Teaches PyTorch to Speak TPU
- PyTorch blog: Introducing TorchTPU
- TorchTPU on GitHub
- Google Cloud blog: TorchTPU is now open source
- MarkTechPost: Google TorchTPU
SEGMENT 5: Ship Log
- Vercel changelog: WebSocket support is now generally available
- Vercel docs: Functions WebSockets
- Microsoft: Announcing TypeScript 7.1 Beta
- Tech AI Wire: TypeScript 7.1 Beta
- GitHub changelog: package firewall in public preview
- Claude Code v2.1.305 release
SEGMENT 6: Fast Boot
- CERT-EU advisory 2026-018 on PHP
- BleepingComputer: PHP warns admins of two critical flaws
- Unit 42: Active exploitation of PAN-OS CVE-2026-0257
- The Register: Palo Alto's firewall OS under attack from ransomware groups
- BleepingComputer: Zeabur shutting down after second security breach
- Zeabur: Zeabur is shutting down
- Permit Pending
- Show HN thread on Permit Pending
Transcript
Host0:27
One of the eight private keys was the number four. Not a number with a four in it. Just four. Cloudflare says it learned on October nineteenth, around five in the afternoon UTC, that private keys for eight eMudhra intermediate certificates were compromised. Browsers, operating systems and Cloudflare all trusted those certificates. The Register reports the rest were small integers too. Fifty six, sixty six, one fifteen, one fifty five, one fifty six, two thirty and two thirty seven. Researcher Scott Helme says recovering the four from public certificates took him less than a second. Scott Helme put it this way, as The Register quotes him: “A P-384 private key should be a random 384-bit number, which gives you 2³⁸⁴ possibilities (or roughly 10¹¹⁵), so nobody is ever going to search that.” Nobody had to. Here's why a bad intermediate key matters. An intermediate CA signs certificates that clients trust. Whoever holds the key can forge a certificate for any domain and impersonate servers to intercept or modify traffic, Cloudflare says. The catch, per Ars Technica, is that the attacker has to be able to proxy your connection. So this is active interception, not remote decryption. Cloudflare adds that it's a trust-store problem, not a break in TLS's encryption algorithms. The cleanup is the hard part. Ars reports browser makers and some major applications had blocked all eight certificates by late morning Tuesday. Linux distributions, embedded devices and IoT gear could take longer, and Ars compares that long tail to Heartbleed. Cloudflare says it's updating shared trust stores, base images, clients and products. Its review hasn't found active exploitation on its services. That's Cloudflare's own assessment, not proof nobody exploited this anywhere, and eMudhra may yet dispute or qualify the claims about its key generation. Now something you can do. uv zero point thirteen point four updates its bundled Mozilla root certificates and explicitly addresses the compromised intermediate. Run uv self update, or use the shell installer from the release page. The release also urges you to check other software with bundled CAs. That's the real homework. Your containers and images may each carry their own copy of the trust store, and a browser update won't touch them. Everything in that story was trusted because it was already there. The next one asks you to trust a vendor's own benchmark, so let's read it carefully.
3:20
In one of Mistral's own text-to-speech samples, a flight time of “21:00pm” comes out as “21,000pm.” That's your reminder to test speech synthesis on times, dates, money and names, not just pretty prose. The sample comes from Voxtral three, announced Tuesday. It's a family of speech-to-text and text-to-speech models, plus a voice-agent SDK for streaming speech, reasoning, tool calls and spoken replies. The simplest way in is the transcription endpoint. You send audio, name the model voxtral mini transcribe three zero, and it hands back a transcript. Mistral lists more than fifty languages, speaker labels, and context-biasing, where you supply key terms to help specialist vocabulary without fine-tuning. The family is on the Mistral API and Studio, and OpenRouter hosts Mini too. Pricing is per task, not per token. Mini Transcribe three costs zero point zero zero three five dollars a minute, up from zero point zero zero three for Mini Transcribe two. Text-to-speech is thirteen dollars per million characters, down from sixteen. On accuracy, Mistral's own FLEURS comparison measures word error rate across forty five overlapping languages, lower is better. Small Transcribe three scores four point one percent and Mini four point six. Gemini three point five Transcribe gets four point five, and Whisper large-v3 gets six point one. Mini, the model most of you will try, trails Gemini in Mistral's own table. That's Mistral's number, not an independent one. The agent SDK is built on LiveKit. Audio streams into the realtime transcriber, then the recognized turn goes to a reasoning model that can call tools. The reply streams out through Voxtral Speech three. Mistral says: “No stage waits for the one before it, so each turn completes in under one second, and the agent stops talking when the caller cuts in.” Now the limits. Mistral's model page lists thirty two K of context, OpenRouter lists sixty six K, and the two pages don't explain the gap. Rate limits, deprecation dates and max output for the speech models are unknown. Mistral points to a contact-us route for self-deployment, and the pages show no public weights or license. My verdict. If you handle multilingual calls, jargon or overlapping speakers, try Mini Transcribe three today on your own recordings and compare cost with your vendor. If you're running a production voice stack, wait. Check interruptions, latency and data residency yourself before you believe anyone's chart.
6:15
A hundred fifty five trillion tokens a day on one cluster. That's DeepSeek's claim, relayed by SiliconANGLE, about the framework it just open-sourced under Apache two point zero, called DeepInfer. It's an inference runtime on top of optimized kernels and parallelism strategies. The list includes FlashMLA, DeepGEMM, DeepEP, custom TileLang kernels, and expert parallelism for mixture-of-experts models. Asynchronous scheduling, on by default, overlaps CPU batch scheduling with device execution. The clever bit is DSpark. It drafts five tokens ahead, and a confidence head picks which candidates to verify. DeepSeek estimates a four to seven percent throughput gain at its production load, and that's an estimate, not an independent result. Here's the honest limit. This is not a complete serving stack. The README says you still bring your own KV-cache system, prefill and decode disaggregation, and load balancing across replicas. It's the engine without the transmission, the wheels or the road. It's narrow, too. The default checkpoint is DeepSeek V four point one Flash ten seventeen, and it started life mostly on vLLM. SiliconANGLE reports support for NVIDIA Blackwell and Huawei Ascend, with DeepSeek's published results coming from NVIDIA hardware. To try it, make an empty Python three point twelve environment and follow the README. You'll need CUDA thirteen on NVIDIA, or CANN nine point two on Ascend, and the checkpoint downloads into your Hugging Face cache on first run.
8:02
DeepInfer targets NVIDIA and Huawei silicon. Google would like a word about its own chips. On Tuesday it open-sourced TorchTPU, a native PyTorch backend for TPUs, announced with Meta's PyTorch team. The TorchTPU team's pitch is: “Porting a workload to TPU should be as simple as changing model.to("cuda") to model.to("tpu").” It supports eager and compiled execution, and it integrates with torch compile. Here's what changed. The PyTorch team says the old route, PyTorch XLA, used lazy tensors and needed intrusive source changes. It also had high compile latency and no native eager mode. TorchTPU instead uses PyTorch's PrivateUse1 backend interface, and compiled graphs lower through TorchDynamo, StableHLO and XLA. It also brings custom ATen kernels, a compilation cache, and data and tensor parallel training. Google says about four hundred fifty ATen operations are supported, and five thousand popular Hugging Face models ran out of the box. It reports up to fifty two percent model FLOPs utilization on Qwen three eight B, scaling to eight thousand one hundred ninety two Ironwood TPUs. Those are Google's own results. MarkTechPost reports a tuned fine-tuning example cutting step time from eleven point four nine seconds to two point seven eight. Note the word tuned. Google's own material says changing the device doesn't guarantee peak performance, because shapes, sharding and operations may need work. NVIDIA shops will fairly ask how mature TPU support is, and independent GPU versus TPU cost comparisons aren't in the announcement. To try it on a TPU VM, install torch underscore tpu, pinned to zero point two point zero, with the CPU PyTorch wheel index added. Skip that index and pip may hand you the CUDA build of PyTorch, an odd souvenir from a TPU install.
10:15
Vercel Functions WebSockets are generally available, with the same limits and pricing as other invocations. With Active CPU pricing, CPU is billed only while messages are processed. The catch: connections end at the Function's maximum duration, so persistent comes with an expiry date. A reconnect may land on another instance, so keep state outside, and Fluid compute is required. TypeScript seven point one Beta lets ambient module declarations match on import attributes, so a CSS import is typed by attribute, not filename pattern. Microsoft warns these declarations don't check that files exist. The beta also restores the programmatic compiler API that seven point zero shipped without. Close its objects or use the using keyword, or you leak memory on the Go side. GitHub package firewall is in public preview, free for now, for Enterprise Cloud customers and npm only. It sits between your Actions runners or coding agents and upstream registries, checking downloads against a cooldown, advisory hits and attestation downgrades. You have to route endpoints through it yourself. General availability will be metered like Actions, so the thing blocking your installs will eventually bill you for the privilege. Claude Code version two point one point three oh five adds an opt-in setting for nested user namespaces in sandboxed Linux commands. That's what lets Chromium and rootless Podman run inside. The same release notes say it lets those commands get around the sandbox's file protections. Benefit and caveat arrive together, and security teams will want it off for untrusted repositories.
12:06
Fast Boot, where we check who left what unlocked. PHP patch day. PHP's security team scheduled a release for today at fourteen hundred UTC for two critical flaws, both rated nine point two. It reserved the right to ship early if details leak, a polite way of saying it's racing the internet. Palo Alto's MFA bypass. Unit forty two says ransomware crews including Qilin and Inc used a GlobalProtect authentication bypass to skip MFA and open VPN sessions. Palo Alto first rated it medium severity, so the multi in multi-factor turned out to be aspirational. Zeabur shuts down. BleepingComputer reports Zeabur's second breach in two months exposed over three point two million environment variable records, and the platform is shutting down. Its admin tokens never expired and hadn't been rotated since January twenty twenty-four, which makes them less a credential than an heirloom. Permit Pending. It's a free browser city sim where you're the mayor and every project faces hearings, objections, lawsuits and appeals. The developer acknowledges some petitions carry signatures above two hundred fifty percent of the town's population, so even the fictional objectors are overachieving. Between a key that was the number four and a token nobody touched since January twenty twenty-four, today's secrets were guarded mostly by hope.
13:38
Today we covered the eMudhra certificate keys, Mistral's Voxtral three, DeepSeek's DeepInfer and Google's TorchTPU, plus a ship log and Fast Boot. Your try-it for today is simple. Run uv self update, then find out which of your images carries its own copy of the trust store. Every source is linked in the show notes. Follow The Daily Reboot in your podcast app, and tomorrow's news will find you. I'm your host. Keep your keys random.