CVE-2025-21867

Source
https://nvd.nist.gov/vuln/detail/CVE-2025-21867
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-21867.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2025-21867
Downstream
Related
Published
2025-03-27T13:38:20Z
Modified
2025-10-17T22:29:23.122158Z
Severity
  • 7.8 (High) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
Summary
bpf, test_run: Fix use-after-free issue in eth_skb_pkt_type()
Details

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

bpf, testrun: Fix use-after-free issue in ethskbpkttype()

KMSAN reported a use-after-free issue in ethskbpkttype()[1]. The cause of the issue was that ethskbpkttype() accessed skb's data that didn't contain an Ethernet header. This occurs when bpfprogtestrunxdp() passes an invalid value as the userdata argument to bpftest_init().

Fix this by returning an error when userdata is less than ETHHLEN in bpftestinit(). Additionally, remove the check for "if (user_size > size)" as it is unnecessary.

[1] BUG: KMSAN: use-after-free in ethskbpkttype include/linux/etherdevice.h:627 [inline] BUG: KMSAN: use-after-free in ethtypetrans+0x4ee/0x980 net/ethernet/eth.c:165 ethskbpkttype include/linux/etherdevice.h:627 [inline] ethtypetrans+0x4ee/0x980 net/ethernet/eth.c:165 _xdpbuildskbfromframe+0x5a8/0xa50 net/core/xdp.c:635 xdprecvframes net/bpf/testrun.c:272 [inline] xdptestrunbatch net/bpf/testrun.c:361 [inline] bpftestrunxdplive+0x2954/0x3330 net/bpf/testrun.c:390 bpfprogtestrunxdp+0x148e/0x1b10 net/bpf/testrun.c:1318 bpfprogtestrun+0x5b7/0xa30 kernel/bpf/syscall.c:4371 _sysbpf+0x6a6/0xe20 kernel/bpf/syscall.c:5777 _dosysbpf kernel/bpf/syscall.c:5866 [inline] _sesysbpf kernel/bpf/syscall.c:5864 [inline] _x64sysbpf+0xa4/0xf0 kernel/bpf/syscall.c:5864 x64syscall+0x2ea0/0x3d90 arch/x86/include/generated/asm/syscalls64.h:322 dosyscallx64 arch/x86/entry/common.c:52 [inline] dosyscall64+0xd9/0x1d0 arch/x86/entry/common.c:83 entrySYSCALL64after_hwframe+0x77/0x7f

Uninit was created at: freepagesprepare mm/pagealloc.c:1056 [inline] freeunrefpage+0x156/0x1320 mm/pagealloc.c:2657 _freepages+0xa3/0x1b0 mm/pagealloc.c:4838 bpfringbuffree kernel/bpf/ringbuf.c:226 [inline] ringbufmapfree+0xff/0x1e0 kernel/bpf/ringbuf.c:235 bpfmapfree kernel/bpf/syscall.c:838 [inline] bpfmapfreedeferred+0x17c/0x310 kernel/bpf/syscall.c:862 processonework kernel/workqueue.c:3229 [inline] processscheduledworks+0xa2b/0x1b60 kernel/workqueue.c:3310 workerthread+0xedf/0x1550 kernel/workqueue.c:3391 kthread+0x535/0x6b0 kernel/kthread.c:389 retfromfork+0x6e/0x90 arch/x86/kernel/process.c:147 retfromforkasm+0x1a/0x30 arch/x86/entry/entry_64.S:244

CPU: 1 UID: 0 PID: 17276 Comm: syz.1.16450 Not tainted 6.12.0-05490-g9bb88c659673 #8 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-3.fc41 04/01/2014

References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
be3d72a2896cb24090f268dce4aa8a304d40bc23
Fixed
f615fccfc689cb48977d275ac2e391297b52392b
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
be3d72a2896cb24090f268dce4aa8a304d40bc23
Fixed
d56d8a23d95100b65f40438639dd82db2af81c11
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
be3d72a2896cb24090f268dce4aa8a304d40bc23
Fixed
972bafed67ca73ad9a56448384281eb5fd5c0ba3
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
be3d72a2896cb24090f268dce4aa8a304d40bc23
Fixed
1a9e1284e87d59b1303b69d1808d310821d6e5f7
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
be3d72a2896cb24090f268dce4aa8a304d40bc23
Fixed
6b3d638ca897e099fa99bd6d02189d3176f80a47

Affected versions

v5.*

v5.17
v5.17-rc1
v5.17-rc2
v5.17-rc3
v5.17-rc4
v5.17-rc5
v5.17-rc6
v5.17-rc7
v5.17-rc8
v5.18
v5.18-rc1
v5.18-rc2
v5.18-rc3
v5.18-rc4
v5.18-rc5
v5.18-rc6
v5.18-rc7
v5.19
v5.19-rc1
v5.19-rc2
v5.19-rc3
v5.19-rc4
v5.19-rc5
v5.19-rc6
v5.19-rc7
v5.19-rc8

v6.*

v6.0
v6.0-rc1
v6.0-rc2
v6.0-rc3
v6.0-rc4
v6.0-rc5
v6.0-rc6
v6.0-rc7
v6.1
v6.1-rc1
v6.1-rc2
v6.1-rc3
v6.1-rc4
v6.1-rc5
v6.1-rc6
v6.1-rc7
v6.1-rc8
v6.1.1
v6.1.10
v6.1.100
v6.1.101
v6.1.102
v6.1.103
v6.1.104
v6.1.105
v6.1.106
v6.1.107
v6.1.108
v6.1.109
v6.1.11
v6.1.110
v6.1.111
v6.1.112
v6.1.113
v6.1.114
v6.1.115
v6.1.116
v6.1.117
v6.1.118
v6.1.119
v6.1.12
v6.1.120
v6.1.121
v6.1.122
v6.1.123
v6.1.124
v6.1.125
v6.1.126
v6.1.127
v6.1.128
v6.1.129
v6.1.13
v6.1.14
v6.1.15
v6.1.16
v6.1.17
v6.1.18
v6.1.19
v6.1.2
v6.1.20
v6.1.21
v6.1.22
v6.1.23
v6.1.24
v6.1.25
v6.1.26
v6.1.27
v6.1.28
v6.1.29
v6.1.3
v6.1.30
v6.1.31
v6.1.32
v6.1.33
v6.1.34
v6.1.35
v6.1.36
v6.1.37
v6.1.38
v6.1.39
v6.1.4
v6.1.40
v6.1.41
v6.1.42
v6.1.43
v6.1.44
v6.1.45
v6.1.46
v6.1.47
v6.1.48
v6.1.49
v6.1.5
v6.1.50
v6.1.51
v6.1.52
v6.1.53
v6.1.54
v6.1.55
v6.1.56
v6.1.57
v6.1.58
v6.1.59
v6.1.6
v6.1.60
v6.1.61
v6.1.62
v6.1.63
v6.1.64
v6.1.65
v6.1.66
v6.1.67
v6.1.68
v6.1.69
v6.1.7
v6.1.70
v6.1.71
v6.1.72
v6.1.73
v6.1.74
v6.1.75
v6.1.76
v6.1.77
v6.1.78
v6.1.79
v6.1.8
v6.1.80
v6.1.81
v6.1.82
v6.1.83
v6.1.84
v6.1.85
v6.1.86
v6.1.87
v6.1.88
v6.1.89
v6.1.9
v6.1.90
v6.1.91
v6.1.92
v6.1.93
v6.1.94
v6.1.95
v6.1.96
v6.1.97
v6.1.98
v6.1.99
v6.10
v6.10-rc1
v6.10-rc2
v6.10-rc3
v6.10-rc4
v6.10-rc5
v6.10-rc6
v6.10-rc7
v6.11
v6.11-rc1
v6.11-rc2
v6.11-rc3
v6.11-rc4
v6.11-rc5
v6.11-rc6
v6.11-rc7
v6.12
v6.12-rc1
v6.12-rc2
v6.12-rc3
v6.12-rc4
v6.12-rc5
v6.12-rc6
v6.12-rc7
v6.12.1
v6.12.10
v6.12.11
v6.12.12
v6.12.13
v6.12.14
v6.12.15
v6.12.16
v6.12.2
v6.12.3
v6.12.4
v6.12.5
v6.12.6
v6.12.7
v6.12.8
v6.12.9
v6.13
v6.13-rc1
v6.13-rc2
v6.13-rc3
v6.13-rc4
v6.13-rc5
v6.13-rc6
v6.13-rc7
v6.13.1
v6.13.2
v6.13.3
v6.13.4
v6.2
v6.2-rc1
v6.2-rc2
v6.2-rc3
v6.2-rc4
v6.2-rc5
v6.2-rc6
v6.2-rc7
v6.2-rc8
v6.3
v6.3-rc1
v6.3-rc2
v6.3-rc3
v6.3-rc4
v6.3-rc5
v6.3-rc6
v6.3-rc7
v6.4
v6.4-rc1
v6.4-rc2
v6.4-rc3
v6.4-rc4
v6.4-rc5
v6.4-rc6
v6.4-rc7
v6.5
v6.5-rc1
v6.5-rc2
v6.5-rc3
v6.5-rc4
v6.5-rc5
v6.5-rc6
v6.5-rc7
v6.6
v6.6-rc1
v6.6-rc2
v6.6-rc3
v6.6-rc4
v6.6-rc5
v6.6-rc6
v6.6-rc7
v6.6.1
v6.6.10
v6.6.11
v6.6.12
v6.6.13
v6.6.14
v6.6.15
v6.6.16
v6.6.17
v6.6.18
v6.6.19
v6.6.2
v6.6.20
v6.6.21
v6.6.22
v6.6.23
v6.6.24
v6.6.25
v6.6.26
v6.6.27
v6.6.28
v6.6.29
v6.6.3
v6.6.30
v6.6.31
v6.6.32
v6.6.33
v6.6.34
v6.6.35
v6.6.36
v6.6.37
v6.6.38
v6.6.39
v6.6.4
v6.6.40
v6.6.41
v6.6.42
v6.6.43
v6.6.44
v6.6.45
v6.6.46
v6.6.47
v6.6.48
v6.6.49
v6.6.5
v6.6.50
v6.6.51
v6.6.52
v6.6.53
v6.6.54
v6.6.55
v6.6.56
v6.6.57
v6.6.58
v6.6.59
v6.6.6
v6.6.60
v6.6.61
v6.6.62
v6.6.63
v6.6.64
v6.6.65
v6.6.66
v6.6.67
v6.6.68
v6.6.69
v6.6.7
v6.6.70
v6.6.71
v6.6.72
v6.6.73
v6.6.74
v6.6.75
v6.6.76
v6.6.77
v6.6.78
v6.6.79
v6.6.8
v6.6.9
v6.7
v6.7-rc1
v6.7-rc2
v6.7-rc3
v6.7-rc4
v6.7-rc5
v6.7-rc6
v6.7-rc7
v6.7-rc8
v6.8
v6.8-rc1
v6.8-rc2
v6.8-rc3
v6.8-rc4
v6.8-rc5
v6.8-rc6
v6.8-rc7
v6.9
v6.9-rc1
v6.9-rc2
v6.9-rc3
v6.9-rc4
v6.9-rc5
v6.9-rc6
v6.9-rc7

Database specific

vanir_signatures

[
    {
        "signature_version": "v1",
        "signature_type": "Function",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f615fccfc689cb48977d275ac2e391297b52392b",
        "deprecated": false,
        "id": "CVE-2025-21867-104cbde0",
        "target": {
            "file": "net/bpf/test_run.c",
            "function": "bpf_test_init"
        },
        "digest": {
            "length": 556.0,
            "function_hash": "178233394487875833288966591496689074040"
        }
    },
    {
        "signature_version": "v1",
        "signature_type": "Line",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6b3d638ca897e099fa99bd6d02189d3176f80a47",
        "deprecated": false,
        "id": "CVE-2025-21867-2b36a984",
        "target": {
            "file": "net/bpf/test_run.c"
        },
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "267198520477281724737129664199389242551",
                "130459280958831967136755939175309339884",
                "209662696536234801832100641539711683749",
                "16981461129772318996234253813116316382",
                "48120550764514742162790504608496833653",
                "335885450761879871147289756440799814217",
                "332457435937148437459204570819416958792"
            ]
        }
    },
    {
        "signature_version": "v1",
        "signature_type": "Function",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1a9e1284e87d59b1303b69d1808d310821d6e5f7",
        "deprecated": false,
        "id": "CVE-2025-21867-78eb88d0",
        "target": {
            "file": "net/bpf/test_run.c",
            "function": "bpf_test_init"
        },
        "digest": {
            "length": 556.0,
            "function_hash": "178233394487875833288966591496689074040"
        }
    },
    {
        "signature_version": "v1",
        "signature_type": "Line",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f615fccfc689cb48977d275ac2e391297b52392b",
        "deprecated": false,
        "id": "CVE-2025-21867-8b2c963e",
        "target": {
            "file": "net/bpf/test_run.c"
        },
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "267198520477281724737129664199389242551",
                "130459280958831967136755939175309339884",
                "209662696536234801832100641539711683749",
                "16981461129772318996234253813116316382",
                "48120550764514742162790504608496833653",
                "335885450761879871147289756440799814217",
                "332457435937148437459204570819416958792"
            ]
        }
    },
    {
        "signature_version": "v1",
        "signature_type": "Function",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6b3d638ca897e099fa99bd6d02189d3176f80a47",
        "deprecated": false,
        "id": "CVE-2025-21867-9b61679d",
        "target": {
            "file": "net/bpf/test_run.c",
            "function": "bpf_test_init"
        },
        "digest": {
            "length": 556.0,
            "function_hash": "178233394487875833288966591496689074040"
        }
    },
    {
        "signature_version": "v1",
        "signature_type": "Line",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d56d8a23d95100b65f40438639dd82db2af81c11",
        "deprecated": false,
        "id": "CVE-2025-21867-a43f6c23",
        "target": {
            "file": "net/bpf/test_run.c"
        },
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "267198520477281724737129664199389242551",
                "130459280958831967136755939175309339884",
                "209662696536234801832100641539711683749",
                "16981461129772318996234253813116316382",
                "48120550764514742162790504608496833653",
                "335885450761879871147289756440799814217",
                "332457435937148437459204570819416958792"
            ]
        }
    },
    {
        "signature_version": "v1",
        "signature_type": "Line",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1a9e1284e87d59b1303b69d1808d310821d6e5f7",
        "deprecated": false,
        "id": "CVE-2025-21867-ab773a0a",
        "target": {
            "file": "net/bpf/test_run.c"
        },
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "267198520477281724737129664199389242551",
                "130459280958831967136755939175309339884",
                "209662696536234801832100641539711683749",
                "16981461129772318996234253813116316382",
                "48120550764514742162790504608496833653",
                "335885450761879871147289756440799814217",
                "332457435937148437459204570819416958792"
            ]
        }
    },
    {
        "signature_version": "v1",
        "signature_type": "Function",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@972bafed67ca73ad9a56448384281eb5fd5c0ba3",
        "deprecated": false,
        "id": "CVE-2025-21867-acbf9e66",
        "target": {
            "file": "net/bpf/test_run.c",
            "function": "bpf_test_init"
        },
        "digest": {
            "length": 556.0,
            "function_hash": "178233394487875833288966591496689074040"
        }
    },
    {
        "signature_version": "v1",
        "signature_type": "Function",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d56d8a23d95100b65f40438639dd82db2af81c11",
        "deprecated": false,
        "id": "CVE-2025-21867-b4ad3452",
        "target": {
            "file": "net/bpf/test_run.c",
            "function": "bpf_test_init"
        },
        "digest": {
            "length": 556.0,
            "function_hash": "178233394487875833288966591496689074040"
        }
    },
    {
        "signature_version": "v1",
        "signature_type": "Line",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@972bafed67ca73ad9a56448384281eb5fd5c0ba3",
        "deprecated": false,
        "id": "CVE-2025-21867-fb70614d",
        "target": {
            "file": "net/bpf/test_run.c"
        },
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "267198520477281724737129664199389242551",
                "130459280958831967136755939175309339884",
                "209662696536234801832100641539711683749",
                "16981461129772318996234253813116316382",
                "48120550764514742162790504608496833653",
                "335885450761879871147289756440799814217",
                "332457435937148437459204570819416958792"
            ]
        }
    }
]

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.18.0
Fixed
6.1.130
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.80
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.17
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.13.5