Byte-Sized Design

Byte-Sized Design

Share this post

Byte-Sized Design
Byte-Sized Design
When Add-Ons Vanished: A Look Inside Firefox’s Certificate Incident

When Add-Ons Vanished: A Look Inside Firefox’s Certificate Incident

Understanding the Expiry Bug That Temporarily Disabled Firefox Add-Ons

Byte-Sized Design's avatar
Byte-Sized Design
Apr 04, 2025
∙ Paid
8

Share this post

Byte-Sized Design
Byte-Sized Design
When Add-Ons Vanished: A Look Inside Firefox’s Certificate Incident
3
Share

Keep up with AI Research!

The smartest way to stay ahead in AI.

Cut through the noise and get straight to the breakthroughs. State of AI distills the most important research papers in machine learning into crisp, digestible summaries without watering down the substance.

Whether you're building with AI, investing in it, or just obsessed with where it's headed, this is your edge. Curated by top-tier models. Tailored for sharp human minds.

Subscribe and stay sharper than the algorithms.

Subscribe


🚨 TL;DR


In 2019, Firefox users around the world suddenly found their add-ons disabled. The culprit? A single expired intermediate certificate. In one stroke, over 15,000 extensions stopped working. From ad blockers to privacy tools—poof, gone.

The fix required an emergency certificate replacement and a creative deployment strategy using a little-known experiment tool called Normandy. But this wasn’t just about scrambling to fix a bug, it was about building systems that survive digital expiration dates.

This edition breaks down what went wrong, how the Firefox certificate system worked, and what you can learn to design resilient, updatable infrastructure.


📖 What Will We Dive Into Today?

  • Why Firefox signs every add-on

  • How the certificate chain works

  • What broke when the intermediate cert expired

  • How Mozilla shipped a fix in 12 hours

  • How you can protect against invisible time bombs in your own system (Paid)

  • Building kill switches and rapid hotfix pipelines (Paid)


🔐 Why Firefox Requires Add-On Signing


Add-ons in Firefox are powerful. They can read your tabs, block ads, and even sandbox accounts. To protect users from malicious extensions, Mozilla mandates digital signatures for every add-on.

The process is a chain of trust:

  1. A root certificate (stored offline in a Hardware Security Module) signs...

  2. An intermediate certificate (kept online), which signs...

  3. A short-lived end-entity certificate, which signs...

  4. The add-on itself.

Every add-on carries its own cert chain. Firefox verifies this chain on install—and periodically thereafter—to ensure nothing shady slipped in.


💥 What Broke: One Expired Certificate, Millions Affected


At 1:02 AM UTC on May 4, 2019, Firefox’s intermediate certificate expired.

Because nearly all add-ons relied on that cert, they all suddenly became unverifiable. Firefox saw them as unsigned and disabled them.

But the impact wasn’t instant.

Firefox only checks add-on validity every 24 hours. So while some users were hit immediately, others had a ticking time bomb waiting to go off. By 6 PM Pacific, Mozilla engineers were scrambling.


🧠 What Mozilla Learned (And So Should You)


This wasn’t a server-side failure. It was a failure of distributed cryptographic validation. Even though the browser didn’t need to “call home” to verify an add-on, its internal validation logic rejected expired certs.

Key lessons:

  • Expiry is an invisible failure mode. Your system might work fine—until it doesn’t.

  • Offline roots are secure but slow. Replacing the cert required physical access to the HSM.

  • Client-controlled logic is hard to patch. You can’t just “fix the backend”—users are the backend.

  • Your update mechanism must work when everything else is broken.


🔧 The Fix: Using an Experiment Tool to Patch a Certificate


Mozilla didn’t have time to re-sign 15,000+ add-ons. Instead, they created a system add-on—a special kind of Firefox extension with deep internal access.

Using a framework called Normandy, they shipped this fix:

  • It installed a new valid intermediate certificate.

  • It triggered re-verification of all add-ons.

  • It was signed using the new certificate itself (yes, this worked).

Normandy acted like a backdoor repair crew—quietly patching broken chains without user involvement. Most users were fixed within 18 hours.


🧪 How to Stress-Test Your Expiry Resilience

Keep reading with a 7-day free trial

Subscribe to Byte-Sized Design to keep reading this post and get 7 days of free access to the full post archives.

Already a paid subscriber? Sign in
© 2025 Byte-Sized Design
Privacy ∙ Terms ∙ Collection notice
Start writingGet the app
Substack is the home for great culture

Share