CVE-2020-15007

A buffer overflow in the M_LoadDefaults function in m_misc.c in id Tech 1 (aka Doom engine) allows arbitrary code execution via an unsafe usage of fscanf…

published June 24, 2020

CVSS
—
EPSS
2%
Percentile
84.5
In the wild
Unconfirmed
What it is

⚠️ A simple format argument is all it takes to exploit this buffer overflow in the Doom engine — imagine a sneaky chef tossing in ingredients without measuring! Think of it like a restaurant where the chef is supposed to only use a specific amount of chili powder in a recipe, but they don't bother to measure — that could lead to an unexpectedly spicy dish! In this case, the M_LoadDefaults function is the chef, and the unsafe fscanf is the measuring technique gone wrong. With a little creativity, an attacker could run arbitrary code on systems using this vulnerable engine, potentially compromising everything! This is no small potatoes; it could lead to complete control over the affected system, like turning the kitchen into a chaotic free-for-all. 🔥

Put simply

Think of it like a restaurant where the chef is supposed to only use a specific amount of chili powder in a recipe, but they don't bother to measure — that could lead to an unexpectedly spicy dish! In this case, the M_LoadDefaults function is the chef, and the unsafe fscanf is the measuring technique gone wrong. The vulnerability exists in the M_LoadDefaults function of the Doom engine's m_misc.c file, where fscanf is used unsafely, lacking limits on the number of characters it can read. This oversight allows for a buffer overflow, paving the way for arbitrary code execution.

What to do

With a little creativity, an attacker could run arbitrary code on systems using this vulnerable engine, potentially compromising everything! This is no small potatoes; it could lead to complete control over the affected system, like turning the kitchen into a chaotic free-for-all. 🔥 To protect against this vulnerability, the developers should review the fscanf calls and implement proper limits on the number of characters read. Additionally, patching to a secure version of the engine will help ensure that this issue is resolved. Always conduct thorough testing after making code adjustments! You’ve got this! By tightening those limits and keeping your code clean, you can keep your systems safe and sound! 🛡️

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.02491 · 84.5th percentile
Published
2020-06-24T10:55Z
EPSS history
Timeline
  • 24 JUN 10:55Z
    A buffer overflow in the M_LoadDefaults function in m_misc.c in id Tech 1 (aka Doom engine) allows arbitrary code execution via an unsafe usage of fscanf…
    cvelistv5