Loading HuntDB...

linux_kernel

470 Versions 170 CVEs

Versions

af585b921e5d

OTHER 1 CVE

4.14.257

SEMANTIC 1 CVE

5.15

MAJOR_MINOR 15 CVEs

c460495ee072

OTHER 1 CVE

-1da177e4c3f4

OTHER 1 CVE

0626e6641f6b

OTHER 1 CVE

4.14*

OTHER 1 CVE

5.10.96

SEMANTIC 3 CVEs

25d2ba94005f

OTHER 1 CVE

15cc10453398

OTHER 1 CVE

5.15.149

SEMANTIC 5 CVEs

e1eaea46bb40

OTHER 1 CVE

6.1.75

SEMANTIC 3 CVEs

5.14.4

SEMANTIC 1 CVE

4a200c3b9a40

OTHER 1 CVE

5.4.0

SEMANTIC 1 CVE

-5.19.10

OTHER 1 CVE

5.15.162

SEMANTIC 1 CVE

5.12.11

SEMANTIC 2 CVEs

4.10 to 5.6

OTHER 1 CVE

4.19.307

SEMANTIC 3 CVEs

a28b2bfc099c

OTHER 2 CVEs

e46d43375442

OTHER 1 CVE

7c2ffaf21bd6

OTHER 1 CVE

6.1.76

SEMANTIC 3 CVEs

4.19

MAJOR_MINOR 1 CVE

5.12.18

SEMANTIC 3 CVEs

5.20

MAJOR_MINOR 1 CVE

ca289e0b95af

OTHER 1 CVE

3.11

MAJOR_MINOR 1 CVE

af43cbbf954b

OTHER 1 CVE

6.5.9

SEMANTIC 1 CVE

e542e66b7c2e

OTHER 1 CVE

cabc9d49333d

OTHER 1 CVE

bc575064d688

OTHER 1 CVE

46f52c89a7e7

OTHER 1 CVE

5.10.35

SEMANTIC 1 CVE

268bceec1684

OTHER 1 CVE

51fe6141f0f6

OTHER 1 CVE

6.6.18

SEMANTIC 1 CVE

6.710

MAJOR_MINOR 1 CVE

5.10.211

SEMANTIC 1 CVE

6.3

MAJOR_MINOR 1 CVE

2a49b025c36a

OTHER 1 CVE

6f9d451ab1a3

OTHER 1 CVE

a87cb3e48ee8

OTHER 1 CVE

6.7.0

SEMANTIC 2 CVEs

eff73e16ee11

OTHER 1 CVE

a580c76d534c

OTHER 1 CVE

5.10.161

SEMANTIC 1 CVE

03c649dee8b1

OTHER 1 CVE

5cf4f52e6d8a

OTHER 1 CVE

6.12

MAJOR_MINOR 1 CVE

4.13

MAJOR_MINOR 2 CVEs

5.4.119

SEMANTIC 1 CVE

5.10.76

SEMANTIC 1 CVE

d2458baa799f

OTHER 1 CVE

fe1a56420cf2

OTHER 1 CVE

6.623

MAJOR_MINOR 1 CVE

6.711

MAJOR_MINOR 1 CVE

4.9.274

SEMANTIC 1 CVE

6.6.0

SEMANTIC 2 CVEs

bba1dc0b55ac

OTHER 1 CVE

6.1.63

SEMANTIC 4 CVEs

6.9.1

SEMANTIC 1 CVE

9c0f59e47a90

OTHER 1 CVE

5.13.*

OTHER 2 CVEs

5.15.0

SEMANTIC 2 CVEs

4.14.238

SEMANTIC 1 CVE

4.19.228

SEMANTIC 1 CVE

9f5e8eee5cfe

OTHER 1 CVE

4.19.214

SEMANTIC 1 CVE

6.6.2

SEMANTIC 4 CVEs

6.1.85

SEMANTIC 1 CVE

5.14.*

OTHER 4 CVEs

5.14.15

SEMANTIC 1 CVE

5.15.139

SEMANTIC 3 CVEs

a50c1e35650b

OTHER 1 CVE

4.2.0

SEMANTIC 1 CVE

1c836bad43f3

OTHER 1 CVE

501ef3066c89

OTHER 1 CVE

4.19.308

SEMANTIC 1 CVE

2.6.35

SEMANTIC 1 CVE

6.4

MAJOR_MINOR 1 CVE

6.7.11

SEMANTIC 3 CVEs

5.4.155

SEMANTIC 1 CVE

6.183

MAJOR_MINOR 2 CVEs

6.8.8

SEMANTIC 1 CVE

1e51764a3c2a

OTHER 1 CVE

6.8.5

SEMANTIC 2 CVEs

4.19.313

SEMANTIC 3 CVEs

6.10

MAJOR_MINOR 12 CVEs

d9db07f088af

OTHER 1 CVE

5.10.77

SEMANTIC 1 CVE

4.14.237

SEMANTIC 2 CVEs

5.4.278

SEMANTIC 4 CVEs

6.6.3

SEMANTIC 6 CVEs

5.10.216

SEMANTIC 4 CVEs

3b1137fe7482

OTHER 1 CVE

6.6.27

SEMANTIC 1 CVE

1.0

MAJOR_MINOR 1 CVE

71921690f974

OTHER 1 CVE

6.8.*

OTHER 6 CVEs

5.19

MAJOR_MINOR 2 CVEs

f316cdff8d67

OTHER 1 CVE

6.6.15

SEMANTIC 3 CVEs

1972e32431ed

OTHER 1 CVE

6.1.91

SEMANTIC 7 CVEs

5.10.84

SEMANTIC 2 CVEs

2.6.38

SEMANTIC 2 CVEs

5.4.176

SEMANTIC 2 CVEs

4.19.0

SEMANTIC 1 CVE

2.6.20

SEMANTIC 1 CVE

a1edb85e60fd

OTHER 1 CVE

6.5.*

OTHER 2 CVEs

6.9

MAJOR_MINOR 39 CVEs

6.8

MAJOR_MINOR 25 CVEs

5.3

MAJOR_MINOR 1 CVE

5.15.159

SEMANTIC 4 CVEs

0572fc6a510a

OTHER 1 CVE

6.7

MAJOR_MINOR 40 CVEs

4.4.*

OTHER 1 CVE

5.11.19

SEMANTIC 1 CVE

74491de93712

OTHER 1 CVE

f8dccc1bdea7

OTHER 1 CVE

7966f319c66d

OTHER 1 CVE

6.1.84

SEMANTIC 5 CVEs

24803f38a5c0

OTHER 1 CVE

81033c6b584b

OTHER 1 CVE

bf361231c295

OTHER 1 CVE

4.9.273

SEMANTIC 2 CVEs

6.1*

OTHER 1 CVE

1da177e4c3f4

OTHER 39 CVEs

6.1.90

SEMANTIC 2 CVEs

5.10.51

SEMANTIC 3 CVEs

2.6.22

SEMANTIC 1 CVE

5.4.261

SEMANTIC 1 CVE

6.1.87

SEMANTIC 1 CVE

5.10.52

SEMANTIC 2 CVEs

05c6c029a44d

OTHER 1 CVE

5.4.276

SEMANTIC 1 CVE

4.14

MAJOR_MINOR 1 CVE

4.19.209

SEMANTIC 1 CVE

5.4.232

SEMANTIC 1 CVE

4.4.276

SEMANTIC 1 CVE

6.6.14

SEMANTIC 3 CVEs

729bc77af438

OTHER 1 CVE

5.16

MAJOR_MINOR 31 CVEs

6.0.6

SEMANTIC 1 CVE

b9ef7b4b867f

OTHER 1 CVE

5.8

MAJOR_MINOR 4 CVEs

2ad7bf363841

OTHER 1 CVE

4.19.311

SEMANTIC 1 CVE

5.10.46

SEMANTIC 4 CVEs

5.10.54

SEMANTIC 1 CVE

4.9

MAJOR_MINOR 1 CVE

5.12

MAJOR_MINOR 7 CVEs

e5be15c63804

OTHER 1 CVE

5.10.37

SEMANTIC 2 CVEs

5.15.95

SEMANTIC 2 CVEs

6.6.30

SEMANTIC 2 CVEs

4.9.*

OTHER 2 CVEs

4.14.240

SEMANTIC 1 CVE

331b72922c5f

OTHER 1 CVE

f777d8827817

OTHER 1 CVE

65ca846a5314

OTHER 1 CVE

0

SINGLE_NUMBER 93 CVEs

6.5.12

SEMANTIC 4 CVEs

5.15.156

SEMANTIC 1 CVE

6.1.77

SEMANTIC 2 CVEs

2.6.12

SEMANTIC 1 CVE

6.2

MAJOR_MINOR 24 CVEs

6.7.10

SEMANTIC 2 CVEs

5.10.71

SEMANTIC 1 CVE

6.8.10

SEMANTIC 11 CVEs

6..2

OTHER 1 CVE

6.11.5

SEMANTIC 1 CVE

5.6

MAJOR_MINOR 4 CVEs

4.4.290

SEMANTIC 1 CVE

1d65b771bc08

OTHER 1 CVE

2a014b200bbd

OTHER 1 CVE

9d71dd0c7009

OTHER 1 CVE

5.10.217

SEMANTIC 2 CVEs

3.17

MAJOR_MINOR 1 CVE

27de809a3d83

OTHER 1 CVE

5.4*

OTHER 1 CVE

6.6.26

SEMANTIC 2 CVEs

5.10.42

SEMANTIC 1 CVE

6.6.16

SEMANTIC 2 CVEs

5.4269

MAJOR_MINOR 1 CVE

e6d9c80b7ca1

OTHER 1 CVE

6.6.22

SEMANTIC 2 CVEs

791d5409cdb9

OTHER 1 CVE

e0e09186d882

OTHER 1 CVE

6.9.4

SEMANTIC 3 CVEs

5.15.150

SEMANTIC 1 CVE

d4fd0404c1c9

OTHER 1 CVE

6a119c1a584a

OTHER 1 CVE

bafbdd527d56

OTHER 1 CVE

5.10.202

SEMANTIC 3 CVEs

65789daa8087

OTHER 1 CVE

8.4

MAJOR_MINOR 1 CVE

3b8cc6298724

OTHER 1 CVE

5.10.70

SEMANTIC 3 CVEs

4.6

MAJOR_MINOR 1 CVE

5.10.214

SEMANTIC 5 CVEs

97be1e865e70

OTHER 1 CVE

5.15.157

SEMANTIC 1 CVE

9a624a5f9573

OTHER 1 CVE

f8246cf4d9a9

OTHER 1 CVE

154372e67d40

OTHER 1 CVE

6.1.64

SEMANTIC 5 CVEs

5.4.*

OTHER 6 CVEs

6.8.9

SEMANTIC 3 CVEs

fb5f6a0e8063

OTHER 1 CVE

cd099cde4ed2

OTHER 1 CVE

5.10*

OTHER 2 CVEs

5.10.82

SEMANTIC 1 CVE

3.15

MAJOR_MINOR 3 CVEs

2.6.26

SEMANTIC 1 CVE

7562f876cd93

OTHER 1 CVE

5.7

MAJOR_MINOR 2 CVEs

5.10.*

OTHER 8 CVEs

6.10-rc1

RC 8 CVEs

4.19.312

SEMANTIC 2 CVEs

5.15.153

SEMANTIC 5 CVEs

6.8.12

SEMANTIC 6 CVEs

e9c11c6e3a0e

OTHER 1 CVE

5.4.275

SEMANTIC 3 CVEs

5.10.209

SEMANTIC 2 CVEs

5.4.136

SEMANTIC 1 CVE

6.6.34

SEMANTIC 4 CVEs

3.3

MAJOR_MINOR 1 CVE

a9248de42464

OTHER 1 CVE

4.10

MAJOR_MINOR 3 CVEs

6.7.12

SEMANTIC 7 CVEs

fb32856b16ad

OTHER 1 CVE

6.1

MAJOR_MINOR 3 CVEs

46738b1317e1

OTHER 1 CVE

5.10.85

SEMANTIC 1 CVE

7a9ad4aceb02

OTHER 1 CVE

7c93d8cff582

OTHER 1 CVE

5.12.13

SEMANTIC 5 CVEs

5.10.210

SEMANTIC 4 CVEs

6.6.24

SEMANTIC 6 CVEs

6.75

MAJOR_MINOR 1 CVE

6.7.3

SEMANTIC 2 CVEs

5.10.38

SEMANTIC 1 CVE

5.13

MAJOR_MINOR 18 CVEs

5.13.4

SEMANTIC 3 CVEs

6.1.80

SEMANTIC 1 CVE

5.13.3

SEMANTIC 3 CVEs

6.9*

OTHER 1 CVE

e8ba1e05bdc0

OTHER 1 CVE

6.7.2

SEMANTIC 3 CVEs

6.6.58

SEMANTIC 1 CVE

6.1.*

OTHER 4 CVEs

3.8

MAJOR_MINOR 1 CVE

a848c4f15ab6

OTHER 1 CVE

5.15.*

OTHER 4 CVEs

6.8.7

SEMANTIC 1 CVE

4.20

MAJOR_MINOR 18 CVEs

6.8.6

SEMANTIC 1 CVE

6.1.82

SEMANTIC 2 CVEs

3.5

MAJOR_MINOR 1 CVE

5.10.44

SEMANTIC 2 CVEs

6.1.79

SEMANTIC 1 CVE

4.19.220

SEMANTIC 1 CVE

4.4.273

SEMANTIC 1 CVE

5.12.19

SEMANTIC 3 CVEs

672365477ae8

OTHER 1 CVE

c9c9af91f1d9

OTHER 1 CVE

5.4.273

SEMANTIC 2 CVEs

3.18

MAJOR_MINOR 2 CVEs

afc360e8a125

OTHER 1 CVE

4.11

MAJOR_MINOR 2 CVEs

5.15.140

SEMANTIC 3 CVEs

da177e4c3f4

OTHER 1 CVE

5.4.134

SEMANTIC 2 CVEs

2.6.27

SEMANTIC 1 CVE

be55287aa5ba

OTHER 1 CVE

6.6*

OTHER 3 CVEs

4.19.191

SEMANTIC 1 CVE

6.9.3 t

OTHER 1 CVE

6.7.*

OTHER 4 CVEs

5.4.151

SEMANTIC 1 CVE

6.6.23

SEMANTIC 3 CVEs

09f7520048ea

OTHER 1 CVE

2e4c7553cd6f

OTHER 1 CVE

3.13

MAJOR_MINOR 2 CVEs

3.19

MAJOR_MINOR 2 CVEs

1149557d64c9

OTHER 1 CVE

6.1.95

SEMANTIC 1 CVE

6.6.31

SEMANTIC 10 CVEs

6.9.5

SEMANTIC 2 CVEs

4.19.198

SEMANTIC 1 CVE

c75488fb4d82

OTHER 1 CVE

5.15.7

SEMANTIC 1 CVE

v4.20-rc1

RC 1 CVE

6.95

MAJOR_MINOR 1 CVE

5.15.154

SEMANTIC 5 CVEs

4.19.195

SEMANTIC 2 CVEs

b0b03b811963

OTHER 1 CVE

5.15.152

SEMANTIC 2 CVEs

4.19.*

OTHER 4 CVEs

9216477449f3

OTHER 1 CVE

5.16.5

SEMANTIC 3 CVEs

e0fd83dbe924

OTHER 1 CVE

5.4

MAJOR_MINOR 3 CVEs

6.94

MAJOR_MINOR 1 CVE

6.54

MAJOR_MINOR 1 CVE

5.15*

OTHER 2 CVEs

5.10.219

SEMANTIC 5 CVEs

< 6.0.2

OTHER 1 CVE

e39381770ec9

OTHER 1 CVE

5.11*

OTHER 1 CVE

0ce20dd84089

OTHER 1 CVE

5.19.12

SEMANTIC 1 CVE

cad82f1671e4

OTHER 1 CVE

4.5

MAJOR_MINOR 1 CVE

5.14

MAJOR_MINOR 8 CVEs

6.8.2

SEMANTIC 4 CVEs

4.14.331

SEMANTIC 2 CVEs

180253782038

SINGLE_NUMBER 1 CVE

3106a0847525

OTHER 1 CVE

4.19.300

SEMANTIC 2 CVEs

9ec19493fb86

OTHER 1 CVE

b1fc44eaa9ba

OTHER 1 CVE

4.14.*

OTHER 2 CVEs

4.16

MAJOR_MINOR 1 CVE

b220c049d519

OTHER 1 CVE

6.6.*

OTHER 8 CVEs

b74aa9ce13d0

OTHER 1 CVE

6.8*

OTHER 1 CVE

5.10.159

SEMANTIC 1 CVE

5.10

MAJOR_MINOR 5 CVEs

-6.0

OTHER 1 CVE

6.8.3

SEMANTIC 10 CVEs

6d98eb95b450

OTHER 1 CVE

39299bdd2546

OTHER 1 CVE

4.9.276

SEMANTIC 1 CVE

5.13.6

SEMANTIC 1 CVE

6.1.88

SEMANTIC 1 CVE

f2c7ef3ba955

OTHER 1 CVE

5.4.279

SEMANTIC 1 CVE

5.15.158

SEMANTIC 2 CVEs

5.11.21

SEMANTIC 2 CVEs

4.9.292

SEMANTIC 1 CVE

5.11

MAJOR_MINOR 38 CVEs

9f6ce4240a2b

OTHER 1 CVE

5.4.133

SEMANTIC 2 CVEs

6.6.29

SEMANTIC 2 CVEs

3.4

MAJOR_MINOR 1 CVE

5.12.*

OTHER 2 CVEs

5.10.221

SEMANTIC 1 CVE

5.15.19

SEMANTIC 3 CVEs

4.19.316

SEMANTIC 4 CVEs

5.4.126

SEMANTIC 2 CVEs

5.10.75

SEMANTIC 1 CVE

8e60b99f6b7c

OTHER 1 CVE

6.1.83

SEMANTIC 2 CVEs

95a15d80aa0d

OTHER 1 CVE

6.76

MAJOR_MINOR 1 CVE

4.19.310

SEMANTIC 1 CVE

5.10.169

SEMANTIC 1 CVE

82a82340bab6

OTHER 1 CVE

5.4.272

SEMANTIC 1 CVE

5.10.215

SEMANTIC 6 CVEs

3c4287f62044

OTHER 1 CVE

5.1

MAJOR_MINOR 4 CVEs

08c2a4bc9f2a

OTHER 1 CVE

5.12*

OTHER 2 CVEs

5.14.10

SEMANTIC 2 CVEs

0935d5588400

OTHER 1 CVE

cea750c99d8f

OTHER 1 CVE

5.15.72

SEMANTIC 1 CVE

6.6.33

SEMANTIC 9 CVEs

4.14.249

SEMANTIC 1 CVE

4d5e86a56615

OTHER 1 CVE

5.4.274

SEMANTIC 3 CVEs

2e584b1a02ee

OTHER 1 CVE

185fa07000e0

OTHER 1 CVE

2552b32b0b34

OTHER 1 CVE

5,14

OTHER 1 CVE

4.19.196

SEMANTIC 1 CVE

5.16.8

SEMANTIC 1 CVE

23e9d815fad8

OTHER 1 CVE

c056a6ba35e0

OTHER 1 CVE

0faceb7d6dda

OTHER 1 CVE

6.79

MAJOR_MINOR 1 CVE

8cc07265b691

OTHER 1 CVE

4.19.314

SEMANTIC 1 CVE

6.6.19

SEMANTIC 2 CVEs

d7999f5ea64b

OTHER 1 CVE

5.14.16

SEMANTIC 1 CVE

28f6c37a2910

OTHER 1 CVE

4.1

MAJOR_MINOR 1 CVE

6.6

MAJOR_MINOR 7 CVEs

5.15.161

SEMANTIC 8 CVEs

5.4.156

SEMANTIC 1 CVE

5.9

MAJOR_MINOR 4 CVEs

6.7*

OTHER 1 CVE

5.12.9

SEMANTIC 1 CVE

6e728f321393

OTHER 1 CVE

5.15.22

SEMANTIC 1 CVE

5.12.5

SEMANTIC 1 CVE

5.17

MAJOR_MINOR 6 CVEs

8639ecebc9b1

OTHER 1 CVE

4.15

MAJOR_MINOR 5 CVEs

6.73

MAJOR_MINOR 1 CVE

563ca40ddf40

OTHER 1 CVE

4.14.253

SEMANTIC 1 CVE

5.4.262

SEMANTIC 2 CVEs

5.4.124

SEMANTIC 1 CVE

5.4.268

SEMANTIC 1 CVE

843500518509

SINGLE_NUMBER 1 CVE

5.15.148

SEMANTIC 2 CVEs

4fe505c63aa3

OTHER 1 CVE

5.14.14

SEMANTIC 1 CVE

6.7.7

SEMANTIC 2 CVEs

6.10_rc1

RC 1 CVE

2.6.25

SEMANTIC 1 CVE

5.15.5

SEMANTIC 1 CVE

1da177e4c3f

OTHER 1 CVE

4.18

MAJOR_MINOR 1 CVE

4.19.317

SEMANTIC 1 CVE

6.1.94

SEMANTIC 2 CVEs

5.5

MAJOR_MINOR 25 CVEs

1279f9d9dec2

OTHER 1 CVE

6.6.17

SEMANTIC 1 CVE

5.7-rc1

RC 1 CVE

755113d76786

OTHER 1 CVE

5.0

MAJOR_MINOR 4 CVEs

6.5

MAJOR_MINOR 1 CVE

5.15.8

SEMANTIC 2 CVEs

4.9.288

SEMANTIC 1 CVE

5.4.164

SEMANTIC 1 CVE

5.4.128

SEMANTIC 3 CVEs

5.12.2

SEMANTIC 1 CVE

6.9.3

SEMANTIC 5 CVEs

7a7899f6f58e

OTHER 1 CVE

6.0

MAJOR_MINOR 5 CVEs

4.9.285

SEMANTIC 1 CVE

c73be61cede5

OTHER 1 CVE

f061f43d7418

OTHER 1 CVE

5.10.213

SEMANTIC 2 CVEs

0eee5ae10256

OTHER 1 CVE

4534a70b7056

OTHER 1 CVE

6.5.13

SEMANTIC 6 CVEs

0 1da177e4c3f4

OTHER 1 CVE

a0997a86f5c0

OTHER 1 CVE

3b5e748615e7

OTHER 1 CVE

6.1.93

SEMANTIC 7 CVEs

7c00bafee87c

OTHER 1 CVE

4.4.286

SEMANTIC 1 CVE

6.1.0

SEMANTIC 2 CVEs

5.15.12

SEMANTIC 1 CVE

8dcbec6d20eb

OTHER 1 CVE

5.10.0

SEMANTIC 1 CVE

5.14.9

SEMANTIC 5 CVEs

5.4.269

SEMANTIC 3 CVEs

5.10.201

SEMANTIC 3 CVEs

6.6.28

SEMANTIC 1 CVE

6.1.13

SEMANTIC 2 CVEs

ca6cb5447cec

OTHER 1 CVE

6670e1524477

OTHER 1 CVE

5.12.4

SEMANTIC 2 CVEs

5.4.150

SEMANTIC 1 CVE

6.7.4

SEMANTIC 2 CVEs

5.4.270

SEMANTIC 1 CVE

Recent CVEs

CVE-2024-50066

In the Linux kernel, the following vulnerability has been resolved: mm/mremap: fix move_normal_pmd/retract_page_tables race In mremap(), move_page_tables() looks at the type of the PMD entry and the specified address range to figure out by which method the next chunk of page table entries should be moved. At that point, the mmap_lock is held in write mode, but no rmap locks are held yet. For PMD entries that point to page tables and are fully covered by the source address range, move_pgt_entry(NORMAL_PMD, ...) is called, which first takes rmap locks, then does move_normal_pmd(). move_normal_pmd() takes the necessary page table locks at source and destination, then moves an entire page table from the source to the destination. The problem is: The rmap locks, which protect against concurrent page table removal by retract_page_tables() in the THP code, are only taken after the PMD entry has been read and it has been decided how to move it. So we can race as follows (with two processes that have mappings of the same tmpfs file that is stored on a tmpfs mount with huge=advise); note that process A accesses page tables through the MM while process B does it through the file rmap: process A process B ========= ========= mremap mremap_to move_vma move_page_tables get_old_pmd alloc_new_pmd *** PREEMPT *** madvise(MADV_COLLAPSE) do_madvise madvise_walk_vmas madvise_vma_behavior madvise_collapse hpage_collapse_scan_file collapse_file retract_page_tables i_mmap_lock_read(mapping) pmdp_collapse_flush i_mmap_unlock_read(mapping) move_pgt_entry(NORMAL_PMD, ...) take_rmap_locks move_normal_pmd drop_rmap_locks When this happens, move_normal_pmd() can end up creating bogus PMD entries in the line `pmd_populate(mm, new_pmd, pmd_pgtable(pmd))`. The effect depends on arch-specific and machine-specific details; on x86, you can end up with physical page 0 mapped as a page table, which is likely exploitable for user->kernel privilege escalation. Fix the race by letting process B recheck that the PMD still points to a page table after the rmap locks have been taken. Otherwise, we bail and let the caller fall back to the PTE-level copying path, which will then bail immediately at the pmd_none() check. Bug reachability: Reaching this bug requires that you can create shmem/file THP mappings - anonymous THP uses different code that doesn't zap stuff under rmap locks. File THP is gated on an experimental config flag (CONFIG_READ_ONLY_THP_FOR_FS), so on normal distro kernels you need shmem THP to hit this bug. As far as I know, getting shmem THP normally requires that you can mount your own tmpfs with the right mount flags, which would require creating your own user+mount namespace; though I don't know if some distros maybe enable shmem THP by default or something like that. Bug impact: This issue can likely be used for user->kernel privilege escalation when it is reachable.

HIGH Oct 23, 2024

CVE-2024-39479

In the Linux kernel, the following vulnerability has been resolved: drm/i915/hwmon: Get rid of devm When both hwmon and hwmon drvdata (on which hwmon depends) are device managed resources, the expectation, on device unbind, is that hwmon will be released before drvdata. However, in i915 there are two separate code paths, which both release either drvdata or hwmon and either can be released before the other. These code paths (for device unbind) are as follows (see also the bug referenced below): Call Trace: release_nodes+0x11/0x70 devres_release_group+0xb2/0x110 component_unbind_all+0x8d/0xa0 component_del+0xa5/0x140 intel_pxp_tee_component_fini+0x29/0x40 [i915] intel_pxp_fini+0x33/0x80 [i915] i915_driver_remove+0x4c/0x120 [i915] i915_pci_remove+0x19/0x30 [i915] pci_device_remove+0x32/0xa0 device_release_driver_internal+0x19c/0x200 unbind_store+0x9c/0xb0 and Call Trace: release_nodes+0x11/0x70 devres_release_all+0x8a/0xc0 device_unbind_cleanup+0x9/0x70 device_release_driver_internal+0x1c1/0x200 unbind_store+0x9c/0xb0 This means that in i915, if use devm, we cannot gurantee that hwmon will always be released before drvdata. Which means that we have a uaf if hwmon sysfs is accessed when drvdata has been released but hwmon hasn't. The only way out of this seems to be do get rid of devm_ and release/free everything explicitly during device unbind. v2: Change commit message and other minor code changes v3: Cleanup from i915_hwmon_register on error (Armin Wolf) v4: Eliminate potential static analyzer warning (Rodrigo) Eliminate fetch_and_zero (Jani) v5: Restore previous logic for ddat_gt->hwmon_dev error return (Andi)

HIGH Jul 05, 2024

CVE-2024-39462

In the Linux kernel, the following vulnerability has been resolved: clk: bcm: dvp: Assign ->num before accessing ->hws Commit f316cdff8d67 ("clk: Annotate struct clk_hw_onecell_data with __counted_by") annotated the hws member of 'struct clk_hw_onecell_data' with __counted_by, which informs the bounds sanitizer about the number of elements in hws, so that it can warn when hws is accessed out of bounds. As noted in that change, the __counted_by member must be initialized with the number of elements before the first array access happens, otherwise there will be a warning from each access prior to the initialization because the number of elements is zero. This occurs in clk_dvp_probe() due to ->num being assigned after ->hws has been accessed: UBSAN: array-index-out-of-bounds in drivers/clk/bcm/clk-bcm2711-dvp.c:59:2 index 0 is out of range for type 'struct clk_hw *[] __counted_by(num)' (aka 'struct clk_hw *[]') Move the ->num initialization to before the first access of ->hws, which clears up the warning.

CRITICAL Jun 25, 2024

CVE-2023-52883

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: Fix possible null pointer dereference abo->tbo.resource may be NULL in amdgpu_vm_bo_update.

HIGH Jun 20, 2024

CVE-2024-36888

In the Linux kernel, the following vulnerability has been resolved: workqueue: Fix selection of wake_cpu in kick_pool() With cpu_possible_mask=0-63 and cpu_online_mask=0-7 the following kernel oops was observed: smp: Bringing up secondary CPUs ... smp: Brought up 1 node, 8 CPUs Unable to handle kernel pointer dereference in virtual kernel address space Failing address: 0000000000000000 TEID: 0000000000000803 [..] Call Trace: arch_vcpu_is_preempted+0x12/0x80 select_idle_sibling+0x42/0x560 select_task_rq_fair+0x29a/0x3b0 try_to_wake_up+0x38e/0x6e0 kick_pool+0xa4/0x198 __queue_work.part.0+0x2bc/0x3a8 call_timer_fn+0x36/0x160 __run_timers+0x1e2/0x328 __run_timer_base+0x5a/0x88 run_timer_softirq+0x40/0x78 __do_softirq+0x118/0x388 irq_exit_rcu+0xc0/0xd8 do_ext_irq+0xae/0x168 ext_int_handler+0xbe/0xf0 psw_idle_exit+0x0/0xc default_idle_call+0x3c/0x110 do_idle+0xd4/0x158 cpu_startup_entry+0x40/0x48 rest_init+0xc6/0xc8 start_kernel+0x3c4/0x5e0 startup_continue+0x3c/0x50 The crash is caused by calling arch_vcpu_is_preempted() for an offline CPU. To avoid this, select the cpu with cpumask_any_and_distribute() to mask __pod_cpumask with cpu_online_mask. In case no cpu is left in the pool, skip the assignment. tj: This doesn't fully fix the bug as CPUs can still go down between picking the target CPU and the wake call. Fixing that likely requires adding cpu_online() test to either the sched or s390 arch code. However, regardless of how that is fixed, workqueue shouldn't be picking a CPU which isn't online as that would result in unpredictable and worse behavior.

MEDIUM May 30, 2024

CVE-2024-36011

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: HCI: Fix potential null-ptr-deref Fix potential null-ptr-deref in hci_le_big_sync_established_evt().

MEDIUM May 23, 2024

CVE-2021-47327

In the Linux kernel, the following vulnerability has been resolved: iommu/arm-smmu: Fix arm_smmu_device refcount leak when arm_smmu_rpm_get fails arm_smmu_rpm_get() invokes pm_runtime_get_sync(), which increases the refcount of the "smmu" even though the return value is less than 0. The reference counting issue happens in some error handling paths of arm_smmu_rpm_get() in its caller functions. When arm_smmu_rpm_get() fails, the caller functions forget to decrease the refcount of "smmu" increased by arm_smmu_rpm_get(), causing a refcount leak. Fix this issue by calling pm_runtime_resume_and_get() instead of pm_runtime_get_sync() in arm_smmu_rpm_get(), which can keep the refcount balanced in case of failure.

HIGH May 21, 2024

CVE-2024-35919

In the Linux kernel, the following vulnerability has been resolved: media: mediatek: vcodec: adding lock to protect encoder context list Add a lock for the ctx_list, to avoid accessing a NULL pointer within the 'vpu_enc_ipi_handler' function when the ctx_list has been deleted due to an unexpected behavior on the SCP IP block.

HIGH May 19, 2024

CVE-2024-26952

In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix potencial out-of-bounds when buffer offset is invalid I found potencial out-of-bounds when buffer offset fields of a few requests is invalid. This patch set the minimum value of buffer offset field to ->Buffer offset to validate buffer length.

HIGH May 01, 2024

CVE-2023-52629

In the Linux kernel, the following vulnerability has been resolved: sh: push-switch: Reorder cleanup operations to avoid use-after-free bug The original code puts flush_work() before timer_shutdown_sync() in switch_drv_remove(). Although we use flush_work() to stop the worker, it could be rescheduled in switch_timer(). As a result, a use-after-free bug can occur. The details are shown below: (cpu 0) | (cpu 1) switch_drv_remove() | flush_work() | ... | switch_timer // timer | schedule_work(&psw->work) timer_shutdown_sync() | ... | switch_work_handler // worker kfree(psw) // free | | psw->state = 0 // use This patch puts timer_shutdown_sync() before flush_work() to mitigate the bugs. As a result, the worker and timer will be stopped safely before the deallocate operations.

HIGH Mar 29, 2024