CVE-2024-50059

ntb: ntb_hw_switchtec: Fix use after free vulnerability in switchtec_ntb_remove due to race condition

State
Published
Severity
7.8 High
Published
Oct 21, 2024
Updated
Aug 5, 2026
Reserved
Oct 21, 2024

Read the record on cve.org

Description

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

ntb: ntb_hw_switchtec: Fix use after free vulnerability in switchtec_ntb_remove due to race condition

In the switchtec_ntb_add function, it can call switchtec_ntb_init_sndev function, then &sndev->check_link_status_work is bound with check_link_status_work. switchtec_ntb_link_notification may be called to start the work.

If we remove the module which will call switchtec_ntb_remove to make cleanup, it will free sndev through kfree(sndev), while the work mentioned above will be used. The sequence of operations that may lead to a UAF bug is as follows:

CPU0 CPU1

| check_link_status_work switchtec_ntb_remove | kfree(sndev); | | if (sndev->link_force_down) | // use sndev

Fix it by ensuring that the work is canceled before proceeding with the cleanup in switchtec_ntb_remove.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9 to before 5126d8f5567f49b52e21fca320eaa97977055099Affected
  • d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9 to before b650189687822b705711f0567a65a164a314d8dfAffected
  • d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9 to before 92728fceefdaa2a0a3aae675f86193b006eeaa43Affected
  • d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9 to before 3ae45be8492460a35b5aebf6acac1f1d32708946Affected
  • d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9 to before fa840ba4bd9f3bad7f104e5b32028ee73af8b3ddAffected
  • d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9 to before 177925d9c8715a897bb79eca62628862213ba956Affected
  • d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9 to before e51aded92d42784313ba16c12f4f88cc4f973bbbAffected
LinuxLinux
  • 4.16Affected
  • before 4.16Not affected
  • 5.4.285 through 5.4.*Not affected
  • 5.10.227 through 5.10.*Not affected
  • 5.15.168 through 5.15.*Not affected
  • 6.1.113 through 6.1.*Not affected
  • 6.6.57 through 6.6.*Not affected
  • 6.11.4 through 6.11.*Not affected
  • 6.12 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.