Search... ⌘K
Write Log In Sign Up

Join DevSolved

Share war stories & investigate outages.

Sign Up for Free Log In to Account
ESC
CRITICAL Resolved

CrowdStrike Falcon 2024: The Global BSOD Outage

Avatar Devsolved Jul 21, 2024 — 10:00 UTC MTTR: 72 hours 89003 views
Executive Summary

A parameter count mismatch within Channel File 291 triggered an out-of-bounds memory read in the Falcon sensor kernel driver, causing 8.5 million Windows devices to BSOD globally.

MTTR (Mean Time To Recovery): 4 days (for full global ecosystem recovery)

Symptom

At 04:09 UTC on July 19, 2024, millions of Windows devices globally began crashing with a "Blue Screen of Death" (BSOD). The crashes were isolated to systems running the CrowdStrike Falcon sensor and were trapped in a continuous boot-loop. Airlines, hospitals, and financial institutions were severely impacted.
Impacted critical infrastructure worldwide

Impacted critical infrastructure worldwide

The Technical Architecture

The CrowdStrike Falcon sensor operates as a boot-start driver at the kernel level (Ring 0) in Windows. It uses "Channel Files" to receive rapid configuration updates without requiring a full sensor update.

The Root Cause

Root Cause

The outage was caused by a specific logic error in the parsing of Channel File 291. A new IPC Template Type was deployed that expected 21 input parameters. However, the Content Interpreter integration only supplied 20 parameters.

When the Falcon sensor attempted to evaluate the 21st parameter, it attempted an out-of-bounds memory read. Because the driver runs in kernel space, Windows instantly panicked to protect the system, resulting in a Stop Code (BSOD).

Code c
// Conceptual Representation of the Fault
void evaluate_template(int* params, int count) {
  // Expected count = 21, Actual provided count = 20
  for(int i=0; i<21; i++) {
    // Crash occurs at i=20 (Out of bounds read)
    process_param(params[i]); 
  }
}

Timeline of Events

Timeline

  • 1
    04:09 UTC critical

    Channel File 291 update deployed globally.

    — System

  • 2
    04:15 UTC investigating

    Massive spike in customer reports of BSODs worldwide.

    — SRE Team

  • 3
    05:27 UTC resolved

    Faulty Channel File 291 reverted on the backend.

    — SRE Team

  • 4
    06:00 UTC monitoring

    Manual remediation (Safe Mode boots) begins globally.

    — IT Admins

Resolution & Remediation

Resolution

CrowdStrike immediately reverted the update. However, because affected machines were stuck in a boot-loop, they could not receive the reverted file over the network.

IT administrators globally had to perform manual remediation:

  • Boot Windows into Safe Mode or the Windows Recovery Environment
  • Navigate to C:\Windows\System32\drivers\CrowdStrike
  • Delete the file matching C-00000291*.sys
  • Reboot the machine normally

Post-Incident Action Items

Preventive Action Items

critical Implement robust compiler-level bounds checking in Content Interpreter @Sensor Engineering
high Stagger Channel File deployments (Canary rollouts) instead of global pushes @Release Engineering
medium Enhance automated fuzz-testing for all IPC Templates @QA Team
|

Discussions 0

Most recent