Archived material. This page is preserved for historical and educational value. It reflects the threat landscape, available guidance, and research context at the time it was written or last updated. It should not be treated as a current security advisory or production remediation guidance. The Channel File 291 condition is no longer reproducible — CrowdStrike has remediated the underlying defect. See the Threat Archive index for context and full listing.
Endpoint Security · Operational Incident · 2024

CrowdStrike Falcon — Channel File 291

Logic error in Falcon sensor IPC Template Type causing global Windows BSOD on July 19, 2024

Summary

On July 19, 2024, cybersecurity vendor CrowdStrike pushed a faulty content update to its Falcon endpoint sensor that caused Windows hosts running the sensor to enter a kernel-mode crash and boot loop. The defective file — known internally as Channel File 291 — affected an estimated 8.5 million Windows devices worldwide and is widely characterized as the largest IT outage in history. Because the Falcon sensor runs as a Windows kernel driver, the crash occurred at boot, leaving impacted systems unable to start normally and requiring physical, manual recovery.

Unlike other entries in this archive, this was not a malicious event. There was no adversary, no intrusion, and no compromise of customer data. The event is preserved here because the operational impact, recovery procedures, and lessons learned are structurally identical to a major security incident — and because the response shaped how infrastructure professionals think about kernel-level vendor code, blast-radius management, and operational resilience.

Key facts:

Background

The conditions for the incident were established in February 2024, when CrowdStrike released sensor version 7.11. That release introduced a new Inter-Process Communication (IPC) Template Type designed to detect novel attack techniques abusing Windows named pipes and other IPC mechanisms. The new Template Type defined 21 input parameter fields, but the integration code that invoked the Content Interpreter supplied only 20 input values to match against. This parameter-count mismatch was the latent defect that would later be triggered.

Between March and April 2024, several IPC Template Instances were delivered to Falcon sensors via Channel File 291. None of these instances exercised the 21st input parameter — they used wildcard matching criteria — so the latent mismatch remained undetected through release testing, stress testing, and live deployment.

On July 19, 2024 at approximately 04:09 UTC, CrowdStrike deployed two additional IPC Template Instances. One of them, for the first time, used a non-wildcard matching criterion against the 21st input parameter. The Content Validator passed this update because it operated on the assumption that 21 inputs would be available — it did not detect that the integration code only supplied 20. When the sensor processed the next IPC notification, the Content Interpreter attempted to read the 21st value of an input array that contained only 20, performing an out-of-bounds memory read in kernel mode. The result was an immediate system crash and Blue Screen of Death (BSOD). On reboot, the sensor loaded again, processed the same channel file, and crashed again — producing the boot loop that characterized the incident.

Impact

What's CrowdStrike Falcon

CrowdStrike Falcon is a cloud-managed endpoint detection and response (EDR) platform. The Falcon sensor is the agent component installed on protected endpoints; on Windows, it loads as a kernel-mode driver early in the boot process so it can observe and intercept events that occur before user-mode processes start. This design is common to most enterprise EDR products — kernel access is what allows a security agent to detect malware that itself attempts to load early, intercept system calls, and prevent tampering with the security product. It is also what made the Falcon sensor's failure mode catastrophic: a logic error inside a kernel driver crashes the operating system rather than just the agent.

The Falcon platform is updated through two distinct mechanisms. Sensor binary updates are major software releases that go through CrowdStrike's full software release process. Rapid Response Content updates — the category to which Channel File 291 belongs — are smaller behavioral-detection content updates that historically went through a lighter validation process and were delivered more frequently, sometimes multiple times per day. The Channel File 291 incident exposed the gap between the testing rigor applied to sensor binaries and the rigor applied to Rapid Response Content.

Implications

The Channel File 291 incident did not change what is technically known about kernel-mode third-party code — those risks were already understood. What it changed was the willingness of customers, vendors, and platform operators to accept the status quo. The implications fall into several categories:

Recovery & Remediation

The procedures below are preserved for historical reference. They reflect the recovery approach used at the time of the incident; the underlying defect has since been remediated by CrowdStrike, and these steps are not applicable to current Falcon deployments.

Immediate (0–7 days)

Short-Term (1–4 weeks)

Medium-Term (1–3 months)

Long-Term (3–6+ months)

Aftermath: Vendor and Industry Response

CrowdStrike

CrowdStrike published a Preliminary Post Incident Review on July 24, 2024, and a full Root Cause Analysis on August 6, 2024. The RCA documented the parameter-count mismatch, the validator logic error, and the absence of a specific test case for non-wildcard matching on the 21st field. CrowdStrike committed to and implemented several remediations: compile-time validation that Template Types provide the expected number of inputs, runtime array bounds checking in the Content Interpreter, expanded test coverage for non-wildcard matching criteria across all input fields, additional Content Validator checks, and staged deployment for Template Instances. The company engaged two independent third-party software security firms to review the Falcon sensor code and end-to-end quality processes. CrowdStrike also introduced customer-facing controls allowing organizations to choose where and when Rapid Response Content updates deploy.

Microsoft

Microsoft hosted a security summit at its Redmond headquarters on September 10, 2024, with CrowdStrike, other security partners, and government representatives in attendance. The summit produced a commitment to design a new Windows endpoint security platform that allows third-party security vendors to operate outside the Windows kernel. In June 2025, Microsoft announced previews of this platform, signaling a multi-year shift away from the kernel-driver architecture that had been industry standard for two decades. Microsoft also deployed approximately 5,000 support engineers during the immediate recovery period and released targeted recovery tooling for Windows systems caught in boot loops.

Legal and regulatory

Delta Air Lines filed suit against CrowdStrike in Fulton County Superior Court (Georgia), alleging negligence, computer trespass, and other claims. In May 2025, Judge Kelly Lee Ellerbe dismissed Delta's fraud-based claims but allowed negligence and computer trespass claims to proceed. CrowdStrike's outside counsel publicly stated the company's position that worst-case damages would fall in the single-digit-millions range, citing contractual liability caps and Georgia law limiting extra-contractual recoveries. Separately, shareholder class-action suits and other customer claims were filed. Congressional hearings were held in the United States, with CrowdStrike executives testifying about the company's testing and deployment practices.

Timeline

DateEvent
February 2024Falcon sensor version 7.11 released, introducing the new IPC Template Type with the latent 21-vs-20 parameter mismatch.
March – April 2024Earlier IPC Template Instances delivered via Channel File 291 using wildcard matching on the 21st field; mismatch remains undetected.
July 19, 2024 (04:09 UTC)Two new IPC Template Instances deployed; one introduces non-wildcard matching against the 21st input parameter. Falcon sensors begin crashing globally.
July 19, 2024 (~05:27 UTC)CrowdStrike identifies the defect and stops further distribution; corrected channel file pushed approximately 79 minutes after deployment.
July 24, 2024CrowdStrike publishes Preliminary Post Incident Review.
July 29, 2024Approximately 99% of Windows Falcon sensors back online per CrowdStrike.
August 6, 2024CrowdStrike publishes full Root Cause Analysis.
September 10, 2024Microsoft hosts security summit on endpoint security architecture.
October 2024Delta Air Lines files suit in Fulton County Superior Court.
May 16, 2025Judge Ellerbe rules Delta's negligence and computer-trespass claims may proceed; fraud claims dismissed.
June 2025Microsoft announces previews of new Windows endpoint security platform allowing security vendors to run outside the kernel.

Key Takeaways

References

Determining Exposure

Checklist for retrospective review of whether an environment was affected on July 19, 2024:

  1. Confirm whether CrowdStrike Falcon was deployed in the environment at the time of the event.
  2. Identify Windows hosts running Falcon sensor; macOS and Linux hosts were not affected.
  3. Determine sensor version in use as of July 19, 2024; sensor 7.11 and later versions were eligible to receive the defective Channel File 291 update.
  4. Review event logs for unexpected reboots, BSOD entries, or boot loops occurring after approximately 04:09 UTC on July 19, 2024.
  5. Check historical change-management records for the recovery activities performed in response to the event.
  6. Review BitLocker recovery key access logs from July 19–22, 2024, for indicators of mass-recovery activity.

The Channel File 291 condition itself is no longer reproducible — CrowdStrike has remediated the validator logic, the integration code, and the runtime bounds-checking gap. Current Falcon deployments cannot exhibit this specific failure.

PowerShell Recovery Script

The following script is preserved as a historical reference. It represents the file-deletion logic used during the recovery phase, executed on a host that had been booted into Safe Mode or the Windows Recovery Environment. It is not applicable to current Falcon deployments.

# Historical: CrowdStrike Channel File 291 recovery
# Designed to run from Safe Mode or WinRE on an affected Windows host.
# Removes the defective C-00000291*.sys channel file so the sensor can
# load a non-defective replacement on next normal boot.

$crowdstrikeDir = "$env:WINDIR\System32\drivers\CrowdStrike"
$badFilePattern = "C-00000291*.sys"
$badFileTimestamp = [datetime]"2024-07-19 04:09:00Z"

if (-not (Test-Path $crowdstrikeDir)) {
    Write-Host "OK - CrowdStrike directory not present on this host." -ForegroundColor Green
    return
}

$candidates = Get-ChildItem -Path $crowdstrikeDir -Filter $badFilePattern -ErrorAction SilentlyContinue
if (-not $candidates) {
    Write-Host "OK - No Channel File 291 artifacts present." -ForegroundColor Green
    return
}

$removed = @()
foreach ($file in $candidates) {
    # The defective file carried a timestamp of 2024-07-19 04:09 UTC.
    # Conservative approach: remove any C-00000291*.sys; the sensor
    # will repopulate from the cloud on next check-in.
    try {
        Remove-Item -Path $file.FullName -Force -ErrorAction Stop
        $removed += $file.Name
    } catch {
        Write-Host "ERROR - Could not remove $($file.FullName): $_" -ForegroundColor Red
    }
}

if ($removed.Count -gt 0) {
    Write-Host "Removed Channel File 291 artifacts:" -ForegroundColor Yellow
    $removed | ForEach-Object { Write-Host "  $_" }
    Write-Host "Reboot the host normally to allow the sensor to load a replacement channel file." -ForegroundColor Yellow
}