<?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-28T15:46:49.498897+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/fkie_cve-2026-97992</id>
    <title>fkie_cve-2026-97992</title>
    <updated>2026-09-28T15:46:49.510896+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p>In the Linux kernel, the following vulnerability has been resolved:</p>
<p>vhost-vdpa: protect config_ctx from being freed under the config callback</p>
<p>vhost_vdpa_config_cb() loads v-&gt;config_ctx and signals it without taking
a reference and without holding any lock:</p>
<p>struct eventfd_ctx *config_ctx = v-&gt;config_ctx;</p>
<p>if (config_ctx)
		eventfd_signal(config_ctx);</p>
<p>VHOST_VDPA_SET_CONFIG_CALL replaces that field and drops what is normally
the last reference to the old context:</p>
<p>swap(ctx, v-&gt;config_ctx);</p>
<p>if (ctx)
		eventfd_ctx_put(ctx);</p>
<p>eventfd_ctx_put() drops the last kref and frees the context immediately,
with no RCU grace period, so a callback that has already loaded the
pointer goes on to dereference freed memory.  The two sides share no
lock: the ioctl runs under vhost_dev.mutex, while the parent invokes the
callback from its own interrupt or workqueue context.</p>
<p>This is not the reopen refcount underflow fixed by commit f6bbf0010ba0
("vhost-vdpa: fix use-after-free of v-&gt;config_ctx"), which was about
vhost_vdpa_config_put() leaving a stale pointer behind.  Here the pointer
is maintained correctly and it is the read side that is unprotected.</p>
<p>With VDUSE as the parent this is reachable from userspace with access to
/dev/vduse (root by default).  VDUSE_DEV_INJECT_CONFIG_IRQ queues
dev-&gt;inject, and vduse_dev_irq_inject() runs the callback under VDUSE's
own dev-&gt;irq_lock, which vhost does not hold.  vduse_dev_reset() does
flush_work(&amp;dev-&gt;inject), but VHOST_VDPA_SET_CONFIG_CALL neve…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/fkie_cve-2026-97992"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ghsa-hm65-mv9r-74m7</id>
    <title>GHSA-hm65-mv9r-74m7</title>
    <updated>2026-09-28T15:46:49.511024+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p>In the Linux kernel, the following vulnerability has been resolved:</p>
<p>vhost-vdpa: protect config_ctx from being freed under the config callback</p>
<p>vhost_vdpa_config_cb() loads v-&gt;config_ctx and signals it without taking
a reference and without holding any lock:</p>
<p>struct eventfd_ctx *config_ctx = v-&gt;config_ctx;</p>
<p>if (config_ctx)
		eventfd_signal(config_ctx);</p>
<p>VHOST_VDPA_SET_CONFIG_CALL replaces that field and drops what is normally
the last reference to the old context:</p>
<p>swap(ctx, v-&gt;config_ctx);</p>
<p>if (ctx)
		eventfd_ctx_put(ctx);</p>
<p>eventfd_ctx_put() drops the last kref and frees the context immediately,
with no RCU grace period, so a callback that has already loaded the
pointer goes on to dereference freed memory.  The two sides share no
lock: the ioctl runs under vhost_dev.mutex, while the parent invokes the
callback from its own interrupt or workqueue context.</p>
<p>This is not the reopen refcount underflow fixed by commit f6bbf0010ba0
("vhost-vdpa: fix use-after-free of v-&gt;config_ctx"), which was about
vhost_vdpa_config_put() leaving a stale pointer behind.  Here the pointer
is maintained correctly and it is the read side that is unprotected.</p>
<p>With VDUSE as the parent this is reachable from userspace with access to
/dev/vduse (root by default).  VDUSE_DEV_INJECT_CONFIG_IRQ queues
dev-&gt;inject, and vduse_dev_irq_inject() runs the callback under VDUSE's
own dev-&gt;irq_lock, which vhost does not hold.  vduse_dev_reset() does
flush_work(&amp;dev-&gt;inject), but VHOST_VDPA_SET_CONFIG_CALL neve…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ghsa-hm65-mv9r-74m7"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ubuntu-cve-2026-97992</id>
    <title>UBUNTU-CVE-2026-97992</title>
    <updated>2026-09-28T15:46:49.511087+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Ubuntu:Pro:14.04:LTS: linux, Ubuntu:Pro:14.04:LTS: linux-aws, Ubuntu:Pro:14.04:LTS: linux-azure, Ubuntu:Pro:14.04:LTS: linux-lts-xenial, Ubuntu:Pro:16.04:LTS: linux, Ubuntu:Pro:16.04:LTS: linux-aws, Ubuntu:Pro:16.04:LTS: linux-aws-hwe, Ubuntu:Pro:16.04:LTS: linux-azure, Ubuntu:Pro:16.04:LTS: linux-gcp, Ubuntu:Pro:16.04:LTS: linux-hwe and 246 more</p>
<p>In the Linux kernel, the following vulnerability has been resolved: vhost-vdpa: protect config_ctx from being freed under the config callback vhost_vdpa_config_cb() loads v-&gt;config_ctx and signals it without taking a reference and without holding any lock: 	struct eventfd_ctx *config_ctx = v-&gt;config_ctx; 	if (config_ctx) 		eventfd_signal(config_ctx); VHOST_VDPA_SET_CONFIG_CALL replaces that field and drops what is normally the last reference to the old context: 	swap(ctx, v-&gt;config_ctx); 	if (ctx) 		eventfd_ctx_put(ctx); eventfd_ctx_put() drops the last kref and frees the context immediately, with no RCU grace period, so a callback that has already loaded the pointer goes on to dereference freed memory.  The two sides share no lock: the ioctl runs under vhost_dev.mutex, while the parent invokes the callback from its own interrupt or workqueue context. This is not the reopen refcount underflow fixed by commit f6bbf0010ba0 ("vhost-vdpa: fix use-after-free of v-&gt;config_ctx"), which was about vhost_vdpa_config_put() leaving a stale pointer behind.  Here the pointer is maintained correctly and it is the read side that is unprotected. With VDUSE as the parent this is reachable from userspace with access to /dev/vduse (root by default).  VDUSE_DEV_INJECT_CONFIG_IRQ queues dev-&gt;inject, and vduse_dev_irq_inject() runs the callback under VDUSE's own dev-&gt;irq_lock, which vhost does not hold.  vduse_dev_reset() does flush_work(&amp;dev-&gt;inject), but VHOST_VDPA_SET_CONFIG_CALL never goes thr…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ubuntu-cve-2026-97992"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/wid-sec-w-2026-3579</id>
    <title>WID-SEC-W-2026-3579 — Linux Kernel: Mehrere Schwachstellen</title>
    <updated>2026-09-28T15:46:49.511508+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>Ein lokaler Angreifer kann mehrere Schwachstellen im Linux Kernel ausnutzen, um einen Denial of Service Zustand herbeizuführen oder nicht näher spezifizierten Angriff durchzuführen.</p>
      </div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/wid-sec-w-2026-3579"/>
  </entry>
</feed>
