-

CVE-2026-97985

af_unix: Update last skb marker in manage_oob().

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

af_unix: Update last skb marker in manage_oob().

Fahad Alharbi reported that blocking recv(MSG_PEEK) could hog CPU
due to OOB skb.

In the following cases, manage_oob() skips OOB skb(s) and returns
NULL for the last recv(MSG_PEEK):

  socketpair(AF_UNIX, SOCK_STREAM, 0, sk);

  1) skb -> OOB skb -> NULL
     send(sk[0], "ab", 2, MSG_OOB);
     recv(sk[1], buf, 0, MSG_PEEK);

  2) skb -> consumed OOB skb -> NULL
     send(sk[0], "ab", 2, MSG_OOB);
     recv(sk[1], buf, 1, MSG_OOB);
     recv(sk[1], buf, 0, MSG_PEEK);

  3) consumed OOB skb -> OOB skb -> NULL
     send(sk[0], "a", 1, MSG_OOB);
     recv(sk[1], buf, 0, MSG_OOB);
     send(sk[0], "b", 1, MSG_OOB);
     recv(sk[1], buf, 1, MSG_PEEK);

Then, @copied is 0 in unix_stream_read_generic() (zero-length buffer,
or non-OOB skb is not yet consumed), and unix_stream_data_wait() is
called.

However, it returns immediately because @last is not updated in
unix_stream_read_generic(), and the thread busy-waits for a new skb.

Let's update @last in manage_oob().

For MSG_PEEK, @last is updated with the skipped OOB, and for the
non-peek case, @last matches the returned value (when !copied)
because OOB is unlinked.

Note that manage_oob() is inlined and no stack canary is added.
Daten sind bereitgestellt durch das CVE Programm von einer CVE Numbering Authority (CNA) (Unstrukturiert).
HerstellerLinux
≫
Produkt Linux
Default Statusunaffected
Version 22dd70eb2c3d754862964377a75abafd3167346b
Version < 0630bfc773d85ac44da05b2c5a037dbbd39301ab
Status affected
Version 22dd70eb2c3d754862964377a75abafd3167346b
Version < f1816b3d7ce80dcf086bb68ff5ae6e09520ca1fa
Status affected
Version 22dd70eb2c3d754862964377a75abafd3167346b
Version < fc62a26493a98a0424d9dae2eb92a1daa1321f65
Status affected
Version 22dd70eb2c3d754862964377a75abafd3167346b
Version < 94fd4debd2e3a69cf93e766c8b328a810c228119
Status affected
Version ae3f9e1221b31b18dbd4c4b85d08574996bbd973
Status affected
Version ba0db4638525b8b054b3d546b45f7e473f477027
Status affected
Version 022d81a709cd553bbe2db8675f8e824f4aee6284
Status affected
Version 16dc252e7007547a7b72a2c21022ef81fb45e6a3
Status affected
Version 5.15.157
Version < 5.16
Status affected
Version 6.1.88
Version < 6.2
Status affected
Version 6.6.29
Version < 6.7
Status affected
Version 6.8.8
Version < 6.9
Status affected
HerstellerLinux
≫
Produkt Linux
Default Statusaffected
Version 6.9
Status affected
Version 0
Version < 6.9
Status unaffected
Version <= 6.12.*
Version 6.12.111
Status unaffected
Version <= 6.18.*
Version 6.18.53
Status unaffected
Version <= 7.2.*
Version 7.2.7
Status unaffected
Version <= *
Version 7.3-rc3
Status unaffected
VulnDex Vulnerability Enrichment
Diese Information steht angemeldeten Benutzern zur Verfügung. Login Login
Zu dieser CVE wurde keine Warnung gefunden.
EPSS Metriken
Typ Quelle Score Percentile
EPSS FIRST.org 0.17% 0.054
CVSS Metriken
Quelle Base Score Exploit Score Impact Score Vector String
Es wurden noch keine Informationen zu CWE veröffentlicht.
https://git.kernel.org/stable/c/0630bfc773d85ac44da05b2c5a037dbbd39301ab
https://git.kernel.org/stable/c/f1816b3d7ce80dcf086bb68ff5ae6e09520ca1fa
https://git.kernel.org/stable/c/fc62a26493a98a0424d9dae2eb92a1daa1321f65
https://git.kernel.org/stable/c/94fd4debd2e3a69cf93e766c8b328a810c228119