CVE-2022-50569

xfrm: Update ipcomp_scratches with NULL when freed

HIGH
7.8
CVSS Score
Published: October 22, 2025 at 01:23 PM UTC
Updated: August 5, 2026 at 09:24 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH7.8
Exploit prediction
EPSS 0.2%

Description

In the Linux kernel, the following vulnerability has been resolved: xfrm: Update ipcomp_scratches with NULL when freed Currently if ipcomp_alloc_scratches() fails to allocate memory ipcomp_scratches holds obsolete address. So when we try to free the percpu scratches using ipcomp_free_scratches() it tries to vfree non existent vm area. Described below: static void * __percpu *ipcomp_alloc_scratches(void) { ... scratches = alloc_percpu(void *); if (!scratches) return NULL; ipcomp_scratches does not know about this allocation failure. Therefore holding the old obsolete address. ... } So when we free, static void ipcomp_free_scratches(void) { ... scratches = ipcomp_scratches; Assigning obsolete address from ipcomp_scratches if (!scratches) return; for_each_possible_cpu(i) vfree(*per_cpu_ptr(scratches, i)); Trying to free non existent page, causing warning: trying to vfree existent vm area. ... } Fix this breakage by updating ipcomp_scrtches with NULL when scratches is freed

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

2.6.12 ≤ v < 4.14.2962.6.12 ≤ v < 4.19.2622.6.12 ≤ v < 4.9.3312.6.12 ≤ v < 5.10.1502.6.12 ≤ v < 5.15.752.6.12 ≤ v < 5.19.172.6.12 ≤ v < 5.4.2202.6.12 ≤ v < 6.0.32.6.12 ≤ v < 6.11da177e4c3f41524e886b7f1b8a0c1fc7321cac22.6.12
Vendor states this is fixed in 03155680191ef0f004b1d6a5714c5b8cd271ab61 (fixed)
Vendor states this is fixed in 18373ed500f7cd53e24d9b0bd0f1c09d78dba87e (fixed)
Vendor states this is fixed in 1e8abde895b3ac6a368cbdb372e8800c49e73a28 (fixed)
Vendor states this is fixed in 2c19945ce8095d065df550e7fe350cd5cc40c6e6 (fixed)
Vendor states this is fixed in 8a04d2fc700f717104bfb95b0f6694e448a4537f (fixed)
Vendor states this is fixed in a39f456d62810c0efb43cead22f98d95b53e4b1a (fixed)
Vendor states this is fixed in be81c44242b20fc3bdcc73480ef8aaee56f5d0b6 (fixed)
Vendor states this is fixed in debca61df6bc2f65e020656c9c5b878d6b38d30f (fixed)
Vendor states this is fixed in f3bdba4440d82e0da2b1bfc35d3836c8a8e00677 (fixed)
Vendor states this is fixed in 2.6.12 (unaffected)
Vendor states this is fixed in 4.14.296 (unaffected)
Vendor states this is fixed in 4.19.262 (unaffected)
Vendor states this is fixed in 4.9.331 (unaffected)
Vendor states this is fixed in 5.10.150 (unaffected)
Vendor states this is fixed in 5.15.75 (unaffected)
Vendor states this is fixed in 5.19.17 (unaffected)
Vendor states this is fixed in 5.4.220 (unaffected)
Vendor states this is fixed in 6.0.3 (unaffected)
Vendor states this is fixed in 6.1 (unaffected)

Remediation

No guide yet

No remediation guidance has been written for this CVE yet, and no fixed version or vendor advisory is recorded against it.

CVSS

7.8HIGHLinux
Vector?

Quick Info

StatusDEFERRED

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card