<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-09-29T19:13:13.251379+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/cve-2026-53260</id>
    <title>CVE-2026-53260 — tcp: Add preempt_{disable,enable}_nested() in reqsk_queue_hash_req().</title>
    <updated>2026-09-29T19:13:14.159607+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Linux</p>
<p>In the Linux kernel, the following vulnerability has been resolved:</p>
<p>tcp: Add preempt_{disable,enable}_nested() in reqsk_queue_hash_req().</p>
<p>syzbot reported a weird reqsk-&gt;rsk_refcnt underflow in
__inet_csk_reqsk_queue_drop().</p>
<p>The captured reqsk_put() in __inet_csk_reqsk_queue_drop()
is called only when it successfully removes reqsk from ehash.</p>
<p>Moreover, reqsk_timer_handler() calls another reqsk_put()
after that.</p>
<p>This indicates that the reqsk was missing both refcnts for
ehash and the timer itself.</p>
<p>Since all the syzbot reports had PREEMPT_RT enabled, the only
possible scenario is that reqsk_queue_hash_req() is preempted
after mod_timer() and before refcount_set(), and then the timer
triggered after 1s aborts the reqsk due to its listener's close().</p>
<p>Let's wrap mod_timer() and refcount_set() with
preempt_disable_nested() and preempt_enable_nested().</p>
<p>Note that inet_ehash_insert() holds the normal spin_lock()
(mutex in PREEMPT_RT), so it must be called outside of
preempt_disable_nested(), but this is fine.</p>
<p>The lookup path just ignores 0 sk_refcnt entries in ehash
and tries to create another reqsk, but this will fail at
inet_ehash_insert().</p>
<p>[0]:
refcount_t: underflow; use-after-free.
WARNING: lib/refcount.c:28 at refcount_warn_saturate+0xb2/0x110 lib/refcount.c:28, CPU#0: ktimers/0/16
Modules linked in:
CPU: 0 UID: 0 PID: 16 Comm: ktimers/0 Tainted: G             L      syzkaller #0 PREEMPT_{RT,(full)}
Tainted: [L]=SOFTLOCKUP
Hardware name: Google Google Compute Engine/Goo…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/cve-2026-53260"/>
  </entry>
</feed>
