Executive Summary

Informations
Name CVE-2025-21881 First vendor Publication 2025-03-27
Vendor Cve Last vendor Modification 2025-03-27

Security-Database Scoring CVSS v3

Cvss vector : N/A
Overall CVSS Score NA
Base Score NA Environmental Score NA
impact SubScore NA Temporal Score NA
Exploitabality Sub Score NA
 
Calculate full CVSS 3.0 Vectors scores

Security-Database Scoring CVSS v2

Cvss vector :
Cvss Base Score N/A Attack Range N/A
Cvss Impact Score N/A Attack Complexity N/A
Cvss Expoit Score N/A Authentication N/A
Calculate full CVSS 2.0 Vectors scores

Detail

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

uprobes: Reject the shared zeropage in uprobe_write_opcode()

We triggered the following crash in syzkaller tests:

BUG: Bad page state in process syz.7.38 pfn:1eff3
page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1eff3
flags: 0x3fffff00004004(referenced|reserved|node=0|zone=1|lastcpupid=0x1fffff)
raw: 003fffff00004004 ffffe6c6c07bfcc8 ffffe6c6c07bfcc8 0000000000000000
raw: 0000000000000000 0000000000000000 00000000fffffffe 0000000000000000
page dumped because: PAGE_FLAGS_CHECK_AT_FREE flag(s) set
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014
Call Trace:

dump_stack_lvl+0x32/0x50
bad_page+0x69/0xf0
free_unref_page_prepare+0x401/0x500
free_unref_page+0x6d/0x1b0
uprobe_write_opcode+0x460/0x8e0
install_breakpoint.part.0+0x51/0x80
register_for_each_vma+0x1d9/0x2b0
__uprobe_register+0x245/0x300
bpf_uprobe_multi_link_attach+0x29b/0x4f0
link_create+0x1e2/0x280
__sys_bpf+0x75f/0xac0
__x64_sys_bpf+0x1a/0x30
do_syscall_64+0x56/0x100
entry_SYSCALL_64_after_hwframe+0x78/0xe2

BUG: Bad rss-counter state mm:00000000452453e0 type:MM_FILEPAGES val:-1

The following syzkaller test case can be used to reproduce:

r2 = creat(&(0x7f0000000000)='./file0\x00', 0x8)
write$nbd(r2, &(0x7f0000000580)=ANY=[], 0x10)
r4 = openat(0xffffffffffffff9c, &(0x7f0000000040)='./file0\x00', 0x42, 0x0)
mmap$IORING_OFF_SQ_RING(&(0x7f0000ffd000/0x3000)=nil, 0x3000, 0x0, 0x12, r4, 0x0)
r5 = userfaultfd(0x80801)
ioctl$UFFDIO_API(r5, 0xc018aa3f, &(0x7f0000000040)={0xaa, 0x20})
r6 = userfaultfd(0x80801)
ioctl$UFFDIO_API(r6, 0xc018aa3f, &(0x7f0000000140))
ioctl$UFFDIO_REGISTER(r6, 0xc020aa00, &(0x7f0000000100)={{&(0x7f0000ffc000/0x4000)=nil, 0x4000}, 0x2})
ioctl$UFFDIO_ZEROPAGE(r5, 0xc020aa04, &(0x7f0000000000)={{&(0x7f0000ffd000/0x1000)=nil, 0x1000}})
r7 = bpf$PROG_LOAD(0x5, &(0x7f0000000140)={0x2, 0x3, &(0x7f0000000200)=ANY=[@ANYBLOB="1800000000120000000000000000000095"], &(0x7f0000000000)='GPL\x00', 0x7, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, @fallback=0x30, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0, @void, @value}, 0x94)
bpf$BPF_LINK_CREATE_XDP(0x1c, &(0x7f0000000040)={r7, 0x0, 0x30, 0x1e, @val=@uprobe_multi={&(0x7f0000000080)='./file0\x00', &(0x7f0000000100)=[0x2], 0x0, 0x0, 0x1}}, 0x40)

The cause is that zero pfn is set to the PTE without increasing the RSS count in mfill_atomic_pte_zeropage() and the refcount of zero folio does not increase accordingly. Then, the operation on the same pfn is performed in uprobe_write_opcode()->__replace_page() to unconditional decrease the RSS count and old_folio's refcount.

Therefore, two bugs are introduced:

1. The RSS count is incorrect, when process exit, the check_mm() report
error "Bad rss-count".

2. The reserved folio (zero folio) is freed when folio->refcount is zero,
then free_pages_prepare->free_page_is_bad() report error
"Bad page state".

There is more, the following warning could also theoretically be triggered:

__replace_page()
-> ...
-> folio_remove_rmap_pte()
-> VM_WARN_ON_FOLIO(is_zero_folio(folio), folio)

Considering that uprobe hit on the zero folio is a very rare case, just reject zero old folio immediately after get_user_page_vma_remote().

[ mingo: Cleaned up the changelog ]

Original Source

Url : http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-21881

Sources (Detail)

https://git.kernel.org/stable/c/0b6f19714588cf2366b0364234f97ba963688f63
https://git.kernel.org/stable/c/13cca2b73e2b0ec3ea6d6615d615395621d22752
https://git.kernel.org/stable/c/54011fc94422f094eaf47555284de70a4bc32bb9
https://git.kernel.org/stable/c/bddf10d26e6e5114e7415a0e442ec6f51a559468
https://git.kernel.org/stable/c/c4cb2bfa99513311886c1eb5c1c2ac26f3338a6e
Source Url

Alert History

If you want to see full details history, please login or register.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
Date Informations
2025-05-26 14:43:13
  • Multiple Updates
2025-05-26 14:42:59
  • Multiple Updates
2025-05-26 03:14:50
  • Multiple Updates
2025-05-26 03:14:37
  • Multiple Updates
2025-05-25 15:06:45
  • Multiple Updates
2025-05-25 15:06:32
  • Multiple Updates
2025-05-25 03:15:07
  • Multiple Updates
2025-05-25 03:14:53
  • Multiple Updates
2025-05-24 14:15:57
  • Multiple Updates
2025-05-24 14:15:44
  • Multiple Updates
2025-05-24 03:14:45
  • Multiple Updates
2025-05-24 03:14:31
  • Multiple Updates
2025-05-23 14:14:41
  • Multiple Updates
2025-05-23 14:14:27
  • Multiple Updates
2025-05-23 04:21:58
  • Multiple Updates
2025-05-23 04:21:44
  • Multiple Updates
2025-05-22 14:14:49
  • Multiple Updates
2025-05-22 14:14:35
  • Multiple Updates
2025-05-22 05:11:16
  • Multiple Updates
2025-05-22 05:11:02
  • Multiple Updates
2025-05-21 14:45:00
  • Multiple Updates
2025-05-21 14:44:46
  • Multiple Updates
2025-05-21 03:15:09
  • Multiple Updates
2025-05-21 03:14:55
  • Multiple Updates
2025-05-20 14:16:11
  • Multiple Updates
2025-05-20 14:15:58
  • Multiple Updates
2025-05-20 05:45:08
  • Multiple Updates
2025-05-20 05:44:54
  • Multiple Updates
2025-05-19 14:15:23
  • Multiple Updates
2025-05-19 14:15:09
  • Multiple Updates
2025-05-19 06:29:24
  • Multiple Updates
2025-05-19 06:29:09
  • Multiple Updates
2025-05-18 14:15:38
  • Multiple Updates
2025-05-18 14:15:25
  • Multiple Updates
2025-05-18 03:20:28
  • Multiple Updates
2025-05-18 03:20:14
  • Multiple Updates
2025-05-17 14:15:41
  • Multiple Updates
2025-05-17 14:15:27
  • Multiple Updates
2025-05-17 07:13:09
  • Multiple Updates
2025-05-17 07:12:55
  • Multiple Updates
2025-05-16 15:27:08
  • Multiple Updates
2025-05-16 15:26:53
  • Multiple Updates
2025-05-16 07:20:14
  • Multiple Updates
2025-05-16 07:19:59
  • Multiple Updates
2025-05-15 15:03:49
  • Multiple Updates
2025-05-15 15:03:28
  • Multiple Updates
2025-05-15 04:58:27
  • Multiple Updates
2025-05-15 04:58:13
  • Multiple Updates
2025-05-14 15:34:04
  • Multiple Updates
2025-05-14 15:33:41
  • Multiple Updates
2025-05-14 04:46:59
  • Multiple Updates
2025-05-14 04:46:45
  • Multiple Updates
2025-05-13 14:16:17
  • Multiple Updates
2025-05-13 14:16:03
  • Multiple Updates
2025-05-13 05:17:27
  • Multiple Updates
2025-05-13 05:17:11
  • Multiple Updates
2025-05-12 14:21:14
  • Multiple Updates
2025-05-12 14:21:00
  • Multiple Updates
2025-05-12 04:28:32
  • Multiple Updates
2025-05-12 04:28:16
  • Multiple Updates
2025-05-11 14:18:06
  • Multiple Updates
2025-05-11 14:17:51
  • Multiple Updates
2025-05-11 04:20:26
  • Multiple Updates
2025-05-11 04:20:12
  • Multiple Updates
2025-05-10 14:17:47
  • Multiple Updates
2025-05-10 14:17:29
  • Multiple Updates
2025-05-10 04:54:10
  • Multiple Updates
2025-05-10 04:53:56
  • Multiple Updates
2025-05-09 14:17:02
  • Multiple Updates
2025-05-09 14:16:48
  • Multiple Updates
2025-05-09 04:17:56
  • Multiple Updates
2025-05-09 04:17:41
  • Multiple Updates
2025-05-08 14:23:28
  • Multiple Updates
2025-05-08 14:23:14
  • Multiple Updates
2025-05-08 04:35:04
  • Multiple Updates
2025-05-08 04:34:50
  • Multiple Updates
2025-05-07 14:24:59
  • Multiple Updates
2025-05-07 14:24:42
  • Multiple Updates
2025-05-07 04:23:55
  • Multiple Updates
2025-05-07 04:23:40
  • Multiple Updates
2025-05-06 14:22:03
  • Multiple Updates
2025-05-06 14:21:50
  • Multiple Updates
2025-05-06 04:22:25
  • Multiple Updates
2025-05-06 04:22:11
  • Multiple Updates
2025-05-05 14:15:59
  • Multiple Updates
2025-05-05 14:15:45
  • Multiple Updates
2025-05-05 04:35:17
  • Multiple Updates
2025-05-05 04:35:03
  • Multiple Updates
2025-05-04 14:20:10
  • Multiple Updates
2025-05-04 14:19:56
  • Multiple Updates
2025-05-04 04:43:37
  • Multiple Updates
2025-05-04 04:43:23
  • Multiple Updates
2025-05-03 14:23:48
  • Multiple Updates
2025-05-03 14:23:35
  • Multiple Updates
2025-05-03 04:35:50
  • Multiple Updates
2025-05-03 04:35:36
  • Multiple Updates
2025-05-02 14:24:19
  • Multiple Updates
2025-05-02 14:24:02
  • Multiple Updates
2025-05-02 04:11:08
  • Multiple Updates
2025-05-02 04:10:54
  • Multiple Updates
2025-05-01 14:23:18
  • Multiple Updates
2025-05-01 14:23:02
  • Multiple Updates
2025-05-01 05:03:11
  • Multiple Updates
2025-05-01 05:02:57
  • Multiple Updates
2025-04-30 14:22:47
  • Multiple Updates
2025-04-30 14:22:32
  • Multiple Updates
2025-04-30 05:06:56
  • Multiple Updates
2025-04-30 05:06:42
  • Multiple Updates
2025-04-29 14:28:10
  • Multiple Updates
2025-04-29 14:27:56
  • Multiple Updates
2025-04-29 05:18:37
  • Multiple Updates
2025-04-29 05:18:21
  • Multiple Updates
2025-04-28 14:26:56
  • Multiple Updates
2025-04-28 14:26:41
  • Multiple Updates
2025-04-28 05:23:56
  • Multiple Updates
2025-04-28 05:23:38
  • Multiple Updates
2025-04-27 14:18:11
  • Multiple Updates
2025-04-27 14:17:57
  • Multiple Updates
2025-04-27 06:15:45
  • Multiple Updates
2025-04-27 06:15:31
  • Multiple Updates
2025-04-26 14:15:27
  • Multiple Updates
2025-04-26 14:15:13
  • Multiple Updates
2025-04-26 06:48:32
  • Multiple Updates
2025-04-26 06:48:17
  • Multiple Updates
2025-04-25 14:17:05
  • Multiple Updates
2025-04-25 14:16:52
  • Multiple Updates
2025-04-25 05:20:28
  • Multiple Updates
2025-04-25 05:20:12
  • Multiple Updates
2025-04-24 14:25:02
  • Multiple Updates
2025-04-24 14:24:49
  • Multiple Updates
2025-04-24 05:46:41
  • Multiple Updates
2025-04-24 05:46:26
  • Multiple Updates
2025-04-23 14:17:21
  • Multiple Updates
2025-04-23 14:17:07
  • Multiple Updates
2025-04-23 06:05:11
  • Multiple Updates
2025-04-23 06:04:57
  • Multiple Updates
2025-04-22 14:17:20
  • Multiple Updates
2025-04-22 14:17:06
  • Multiple Updates
2025-04-22 06:49:56
  • Multiple Updates
2025-04-22 06:49:41
  • Multiple Updates
2025-04-21 14:16:51
  • Multiple Updates
2025-04-21 14:16:37
  • Multiple Updates
2025-04-21 05:53:06
  • Multiple Updates
2025-04-21 05:52:40
  • Multiple Updates
2025-04-20 14:17:25
  • Multiple Updates
2025-04-20 14:17:11
  • Multiple Updates
2025-04-20 07:31:08
  • Multiple Updates
2025-04-20 07:30:49
  • Multiple Updates
2025-04-19 14:17:42
  • Multiple Updates
2025-04-19 14:17:27
  • Multiple Updates
2025-04-19 06:17:29
  • Multiple Updates
2025-04-19 06:17:15
  • Multiple Updates
2025-04-18 16:36:05
  • Multiple Updates
2025-04-18 16:35:52
  • Multiple Updates
2025-04-18 03:17:53
  • Multiple Updates
2025-04-18 03:17:37
  • Multiple Updates
2025-04-17 14:17:17
  • Multiple Updates
2025-04-17 14:17:03
  • Multiple Updates
2025-04-17 06:47:43
  • Multiple Updates
2025-04-17 06:47:26
  • Multiple Updates
2025-04-16 14:22:57
  • Multiple Updates
2025-04-16 14:22:43
  • Multiple Updates
2025-04-16 07:05:38
  • Multiple Updates
2025-04-16 07:05:23
  • Multiple Updates
2025-04-15 14:18:48
  • Multiple Updates
2025-04-15 14:18:33
  • Multiple Updates
2025-04-15 05:10:11
  • Multiple Updates
2025-04-15 05:09:57
  • Multiple Updates
2025-04-14 15:57:27
  • Multiple Updates
2025-04-14 15:57:14
  • Multiple Updates
2025-04-14 04:56:53
  • Multiple Updates
2025-04-14 04:56:05
  • Multiple Updates
2025-04-13 15:25:10
  • Multiple Updates
2025-04-13 15:24:56
  • Multiple Updates
2025-04-13 03:26:21
  • Multiple Updates
2025-04-13 03:26:06
  • Multiple Updates
2025-04-12 14:17:24
  • Multiple Updates
2025-04-12 14:17:11
  • Multiple Updates
2025-04-12 04:33:23
  • Multiple Updates
2025-04-12 04:32:58
  • Multiple Updates
2025-04-11 14:45:03
  • Multiple Updates
2025-04-11 14:44:49
  • Multiple Updates
2025-04-11 03:25:15
  • Multiple Updates
2025-04-11 03:25:01
  • Multiple Updates
2025-04-10 14:19:48
  • Multiple Updates
2025-04-10 14:19:34
  • Multiple Updates
2025-04-10 03:35:25
  • Multiple Updates
2025-04-10 03:35:09
  • Multiple Updates
2025-04-09 14:19:35
  • Multiple Updates
2025-04-09 14:19:21
  • Multiple Updates
2025-04-09 03:20:45
  • Multiple Updates
2025-04-09 03:20:32
  • Multiple Updates
2025-04-08 14:16:11
  • Multiple Updates
2025-04-08 14:15:58
  • Multiple Updates
2025-04-08 03:22:07
  • Multiple Updates
2025-04-08 03:21:53
  • Multiple Updates
2025-04-07 14:15:29
  • Multiple Updates
2025-04-07 14:15:15
  • Multiple Updates
2025-04-07 03:16:16
  • Multiple Updates
2025-04-07 03:16:02
  • Multiple Updates
2025-04-06 14:15:20
  • Multiple Updates
2025-04-06 14:15:06
  • Multiple Updates
2025-04-06 03:17:39
  • Multiple Updates
2025-04-06 03:17:25
  • Multiple Updates
2025-04-05 14:18:49
  • Multiple Updates
2025-04-05 14:18:35
  • Multiple Updates
2025-04-05 03:22:35
  • Multiple Updates
2025-04-05 03:22:21
  • Multiple Updates
2025-04-04 14:16:56
  • Multiple Updates
2025-04-04 14:16:42
  • Multiple Updates
2025-04-04 03:15:49
  • Multiple Updates
2025-04-04 03:15:35
  • Multiple Updates
2025-04-03 15:09:52
  • Multiple Updates
2025-04-03 15:09:32
  • Multiple Updates
2025-04-03 03:14:52
  • Multiple Updates
2025-04-03 03:14:38
  • Multiple Updates
2025-04-02 14:15:32
  • Multiple Updates
2025-04-02 14:15:19
  • Multiple Updates
2025-04-02 03:15:44
  • Multiple Updates
2025-04-02 03:15:30
  • Multiple Updates
2025-04-01 14:15:21
  • Multiple Updates
2025-04-01 14:15:07
  • Multiple Updates
2025-03-31 17:20:34
  • Multiple Updates
2025-03-27 17:20:57
  • First insertion