<?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-10-07T02:52:47.747080+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-2022-49093</id>
    <title>CVE-2022-49093 — skbuff: fix coalescing for page_pool fragment recycling</title>
    <updated>2026-10-07T02:52:47.770995+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>skbuff: fix coalescing for page_pool fragment recycling</p>
<p>Fix a use-after-free when using page_pool with page fragments. We
encountered this problem during normal RX in the hns3 driver:</p>
<p>(1) Initially we have three descriptors in the RX queue. The first one
    allocates PAGE1 through page_pool, and the other two allocate one
    half of PAGE2 each. Page references look like this:</p>
<p>RX_BD1 _______ PAGE1
                RX_BD2 _______ PAGE2
                RX_BD3 _________/</p>
<p>(2) Handle RX on the first descriptor. Allocate SKB1, eventually added
    to the receive queue by tcp_queue_rcv().</p>
<p>(3) Handle RX on the second descriptor. Allocate SKB2 and pass it to
    netif_receive_skb():</p>
<p>netif_receive_skb(SKB2)
      ip_rcv(SKB2)
        SKB3 = skb_clone(SKB2)</p>
<p>SKB2 and SKB3 share a reference to PAGE2 through
    skb_shinfo()-&gt;dataref. The other ref to PAGE2 is still held by
    RX_BD3:</p>
<p>SKB2 ---+- PAGE2
                      SKB3 __/   /
                RX_BD3 _________/</p>
<p>(3b) Now while handling TCP, coalesce SKB3 with SKB1:</p>
<p>tcp_v4_rcv(SKB3)
        tcp_try_coalesce(to=SKB1, from=SKB3)    // succeeds
        kfree_skb_partial(SKB3)
          skb_release_data(SKB3)                // drops one dataref</p>
<p>SKB1 _____ PAGE1
                           \____
                      SKB2 _____ PAGE2
                                 /
                R…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/cve-2022-49093"/>
  </entry>
</feed>
