Home
Blog
Chrome and Firefox patch same bug on same day

Chrome and Firefox patch same bug on same day

Paul Ducklin
05/28/2025
Share this article:

Monoculture in the spotlight

You’ve probably heard the word “monoculture” used literally in agriculture to describe the risk of relying too heavily on a single crop, or metaphorically in IT to describe the risk of having just one product, service or process that dominates the market.

Bananas, one of the most popular fruits in the world, are a commonly-cited example of monoculture risk.

Apparently, the most widely-farmed strain of banana until the 1950s was the gloriously-named Big Mike (Gros Michel), but a fungal disease that was peculiarly harmful to that particular variety all but wiped out the world’s supply.

The “solution,” such as it was, involved switching to new strains of banana that were resistant to the devastating fungus, and the world’s commercial banana production recovered.

Except that all of those new banana varieties, it seems, were derived from a single plant that had been imported into England in the 1830s from the tropical island of Mauritius, and carefully propagated over many years in a greenhouse owned by a certain William Cavendish, Sixth Duke of Devonshire.

(England, as you will know if you have ever visited, has a surprisingly temperate climate for its latitude, but is far from tropical, and had no indigenous banana varieties of its own.)

One monoculture ended up replaced by another.

You can probably guess what has happened since then: a new variant of the dreaded fungus has arisen that affects the so-called Cavendish strain that dominates the world’s supply today.

And that’s the obvious risk of a monoculture, because an injury to one can turn surprisingly quickly into a injury to all.

For good and bad

In software engineering, monocultures can work for both good and bad.

For example, many modern operating systems rely heavily on the concept of shared libraries, or DLLs (dynamic link libraries) as they’re known on Windows.

The idea is that instead of making every app developer write their own code to perform special functions such as rendering graphics or encrypting data, the OS itself provides a centrally-managed set of “sub-applications” that everyone can use.

This not only saves disk space (with only one copy of the code for everyone), but can also save huge amounts of memory (every app can share the read-only parts of the code once it’s loaded).

It also means that a single patch in the event of a bug will quickly and automatically secure everyone, even application vendors who use the buggy code but haven’t bothered to keep informed about the flaw.

Of course, the flipside is that a single bug that isn’t patched (a zero-day, in the jargon) could affect hundreds of different vendors and apps at once.

That means you can end up with all the risks of a monoculture, even when there are plenty of competing vendors and software products to choose from.

Not just system DLLs

The problem of shared dependencies causing shared vulnerabilities isn’t just limited to DLLs curated by the operating system itself.

Complex software tools, notably including image and video encoders, may end up sharing the same open-source code for the performance-critical and quality-critical processing they need, so that bugs in so-called codecs (which is just shorthand for “coder and decoder”) may hit users widely.

And we’ve just seen an example of that very problem, with Mozilla and Google releasing the latest versions of the Firefox and Chrome/Chromium browsers (139 and 137 respectively) on the very same day.

Both browsers included a fix for a memory mismanagement bug dubbed CVE-2025-5283, discovered in Google’s code by Mozilla researchers just over a month ago.

As Firefox notes in its latest security advisory (MFSA 2025-42):

Chrome and Firefox patch same bug on same day - SolCyber

A double-free could have occurred in vpx_codec_enc_init_multi after a failed allocation when initializing the encoder for WebRTC. This could have caused memory corruption and a potentially exploitable crash.

To explain, the term double-free is programmers’ jargon for a bug where one part of a program borrows a chunk of memory to use temporarily, then hands back that memory so it can be used elsewhere…

…but forgets that it already paid back its loan and erroneously returns the memory a second time.

At first thought, this sort of error sounds harmless, or at least much better than handing back memory but continuing to use it even though it’s now reserved for use by another part of the program.

The problem is that if the returned memory has already been lent out again, then the “double free” could result in the system assuming that its new owner no longer requires it, reclaiming it, and and recycling it yet again while the new owner confidently assumes it’s safe to use.

Clearly, this is likely to cause a crash even without a hostile attacker in the loop, given that two parts of the program will unknowingly be sharing the same memory.

But determined attackers may be able to exploit this sort of problem quite deliberately, for example by:

  • Generating sufficient run-time activity that memory allocations and deallocations happen rapidly.
  • Triggering the double-free bug on purpose, hoping that by the time the second free happens, the memory has already been reallocated, so the system wrongly deallocates it again, instead of detecting an attempt to free up a block that doesn’t need freeing.
  • Finding a code sequence that causes their exploit to request memory in such a way that it ends up being handed a duplicated loan of the wrongly-deallocated chunk that’s already in use elsewhere.
  • Reading or writing data of their choice, at a time and in a sequence of their selection, to and from the mismanaged memory, thus potentially acquiring the power to manipulate the behavior of the compromised program remotely.

Even if this doesn’t give the attackers an immediate way to get what’s known as RCE (remote code execution) by injecting rogue software instructions into the program flow, they may be able to compromise the software anyway.

For example, they may be able to modify configuration settings to remove security protections that would otherwise keep them out, to grab hold of passwords and authentication tokens that give them access in future, or to steal personal data from other parts of the program.

Even if they can’t reliably control the program’s behavior, they will very likely be able to crash it at will, provoking what’s known as a DoS, or a denial-of-service attack.

What to do?

  • Patch early, patch often. As mentioned, Firefox and Chrome/Chromium were updated on 2025-05-27. Other browsers may follow soon.
  • Check your own code. If you use the libvpx toolkit in your own software, as a direct or indirect dependency, get ready to update your own app or service.
  • Don’t keep bugs to yourself if they could affect the community. In cybersecurity, competitors often need to co-operate, and this case is an excellent example. Mozilla found and reported a bug in Google’s code; Google applied, tested, and published the fix; both companies updated their browsers; and all of us, including Mozilla and Google, are better off.
  • If you rely on automatic updates, for your system or for any apps you use, don’t take yourself out of the loop entirely. Learn how to verify by hand that those updates are working correctly, just in case something goes wrong.

Remember that many apps combine “check my version” with “get missing updates now, if any,” so that explicitly checking for broken updates often fixes missed patches at the same time.

The human touch goes an awful long way, even in this era of hyper-automation!


Learn more about our mobile security solution that goes beyond traditional MDM (mobile device management) software, and offers active on-device protection that’s more like the EDR (endpoint detection and response) tools you are used to on laptops, desktops and servers:

Chrome and Firefox patch same bug on same day - SolCyber


More About Duck

Paul Ducklin is a respected expert with more than 30 years of experience as a programmer, reverser, researcher and educator in the cybersecurity industry. Duck, as he is known, is also a globally respected writer, presenter and podcaster with an unmatched knack for explaining even the most complex technical issues in plain English. Read, learn, enjoy!

Paul Ducklin
Paul Ducklin
05/28/2025
Share this article:

Table of contents:

The world doesn’t need another traditional MSSP 
or MDR or XDR.

What it requires is practicality and reason.

Choose identity-first managed security.

We start with identity and end with transparency — protecting where attacks begin and keeping you informed, with as much visibility as you want. No black boxes, just clear, expert-driven security.
No more paying for useless bells and whistles.
No more time wasted on endless security alerts.
No more juggling multiple technologies and contracts.

Follow us!

Subscribe

Join our newsletter to stay up to date on features and releases.

By subscribing you agree to our Privacy Policy and provide consent to receive updates from our company.

©
2025
SolCyber. All rights reserved
|
Made with
by
Jason Pittock

I am interested in
SolCyber XDR++™

I am interested in
SolCyber MDR++™

I am interested in
SolCyber Extended Coverage™

I am interested in
SolCyber Foundational Coverage™

I am interested in a
Free Demo

11999