Skip to main content
← All vulnerabilities
CVE-2024-50142

xfrm: validate new SA's prefixlen using SA family when sel.family is unset

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 4.19.323, 5.4.285, 5.10.229, 5.15.170, 6.1.115, and 2 more
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • Linux 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 Linux

    2.6.12

  • KernelLinux

    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

References 8

git.kernel.org