# CVE-2022-49879: ext4: fix BUG_ON() when directory entry has invalid rec_len

Status: published. Published: 2025-05-01. Updated: 2026-11-05.

In the Linux kernel, the following vulnerability has been resolved:

ext4: fix BUG_ON() when directory entry has invalid rec_len

The rec_len field in the directory entry has to be a multiple of 4.  A
corrupted filesystem image can be used to hit a BUG() in
ext4_rec_len_to_disk(), called from make_indexed_dir().

 ------------[ cut here ]------------
 kernel BUG at fs/ext4/ext4.h:2413!
 ...
 RIP: 0010:make_indexed_dir+0x53f/0x5f0
 ...
 Call Trace:
  <TASK>
  ? add_dirent_to_buf+0x1b2/0x200
  ext4_add_entry+0x36e/0x480
  ext4_add_nondir+0x2b/0xc0
  ext4_create+0x163/0x200
  path_openat+0x635/0xe90
  do_filp_open+0xb4/0x160
  ? __create_object.isra.0+0x1de/0x3b0
  ? _raw_spin_unlock+0x12/0x30
  do_sys_openat2+0x91/0x150
  __x64_sys_open+0x6c/0xa0
  do_syscall_64+0x3c/0x80
  entry_SYSCALL_64_after_hwframe+0x46/0xb0

The fix simply adds a call to ext4_check_dir_entry() to validate the
directory entry, returning -EFSCORRUPTED if the entry is invalid.

## Remediation

No remediation reported in collected sources

## Affected products and versions

- Linux / Linux: ≥ 3d0518f4758eca4339e75e5b9dbb7e06a5ce08b4; < 2fa24d0274fbf913b56ee31f15bc01168669d909 (affected, git); ≥ 3d0518f4758eca4339e75e5b9dbb7e06a5ce08b4; < 156451a67b93986fb07c274ef6995ff40766c5ad (affected, git); ≥ 3d0518f4758eca4339e75e5b9dbb7e06a5ce08b4; < 999cff2b6ce3b45c08abf793bf55534777421327 (affected, git); ≥ 3d0518f4758eca4339e75e5b9dbb7e06a5ce08b4; < ce1ee2c8827fb6493e91acbd50f664cf2a972c3d (affected, git); ≥ 3d0518f4758eca4339e75e5b9dbb7e06a5ce08b4; < 17a0bc9bd697f75cfdf9b378d5eb2d7409c91340 (affected, git). Source: CNA: Linux
- Linux / Linux: 2.6.30 (affected); ≥ 0; < 2.6.30 (unaffected, semver); ≥ 5.4.224; ≤ 5.4.* (unaffected, semver); ≥ 5.10.154; ≤ 5.10.* (unaffected, semver); ≥ 5.15.78; ≤ 5.15.* (unaffected, semver); ≥ 6.0.8; ≤ 6.0.* (unaffected, semver); ≥ 6.1; ≤ * (unaffected, original_commit_for_fix). Source: CNA: Linux

## Severity and prioritization

- CISA KEV: No listing in collected sources

- EPSS: 0.22% as of 2026-11-05; percentile 12.40%

- SSVC: exploitation none; automatable no; technical impact partial; source ADP: CISA-ADP

- Weaknesses: Not reported

## Exploit evidence

No exploit evidence in collected sources. This is not proof of no exploitation.

## References

- https://git.kernel.org/stable/c/2fa24d0274fbf913b56ee31f15bc01168669d909 (CNA: Linux)

- https://git.kernel.org/stable/c/156451a67b93986fb07c274ef6995ff40766c5ad (CNA: Linux)

- https://git.kernel.org/stable/c/999cff2b6ce3b45c08abf793bf55534777421327 (CNA: Linux)

- https://git.kernel.org/stable/c/ce1ee2c8827fb6493e91acbd50f664cf2a972c3d (CNA: Linux)

- https://git.kernel.org/stable/c/17a0bc9bd697f75cfdf9b378d5eb2d7409c91340 (CNA: Linux)

## Provenance

- CNA: Linux: https://www.cve.org/CVERecord?id=CVE-2022-49879; retrieved 2026-11-05; source updated 2026-11-05

- FIRST EPSS: https://api.first.org/data/v1/epss?cve=CVE-2022-49879; retrieved 2026-11-05; source updated Not reported

Revision: fb49ee9dfbaaae680b5e3adcdd1b51104e401988c7c6b8855380e6e5d7e4ae06

Canonical: https://y2.dev/cve/CVE-2022-49879

## Agent and API access

Public CVE pages, Markdown, and JSON are free to read without an account or API key.

- Public catalog: https://y2.dev/cve/index.json. Follow nextCursor with the same search, filters, sort, and limit (1–100). A null cursor marks the end.

- WebMCP: search_cve_disclosures, get_cve_disclosure, get_cve_page_markdown, get_y2_cve_access. Available in compatible browsers.

- Cyber API: https://api.y2.dev/api/v2/cyber/cves and https://api.y2.dev/api/v2/cyber/cves/{cveId}.

- Y2 Pro or Elite: create a workspace API key with the intel:cyber scope and send Authorization: Bearer <Y2_API_KEY>. Setup: https://y2.dev/docs/api/create-key.

- x402: Pay per request without an account or API key. Omit Authorization, read the HTTP 402 PAYMENT-REQUIRED challenge, validate its current requirements, and retry with PAYMENT-SIGNATURE through an authorized payment client. These browser tools never make payments. Guide: https://y2.dev/docs/api/x402.

- OpenAPI: https://y2.dev/api/openapi.yaml. Agent access metadata: https://y2.dev/cve/agent.json.

Collected public records only. Check source status for coverage and freshness.