<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Tue, 29 Sep 2026 22:36:09 +0000</lastBuildDate>
    <item>
      <title>BELL-CVE-2026-90269</title>
      <link>https://vulnerability.circl.lu/vuln/bell-cve-2026-90269</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Alpaquita:stream: linux-lts&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Alpaquita:stream: linux-lts&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/bell-cve-2026-90269</guid>
    </item>
    <item>
      <title>fkie_cve-2026-90269</title>
      <link>https://vulnerability.circl.lu/vuln/fkie_cve-2026-90269</link>
      <description>&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;bpf: Reject load-acquire from pointers requiring fault protection&lt;/p&gt;
&lt;p&gt;A BPF_LOAD_ACQ is not rewritten to a BPF_PROBE_MEM load by the verifier,
unlike a regular BPF_LDX, so the JIT emits a plain load with no exception
table entry and a fault panics the kernel instead of being handled.&lt;/p&gt;
&lt;p&gt;Reject the source pointer types that a BPF_LDX would have had that fault
protection applied to, i.e. the ones bpf_convert_ctx_accesses() turns
into BPF_PROBE_MEM: a bare PTR_TO_BTF_ID, PTR_TO_BTF_ID | PTR_UNTRUSTED,
PTR_TO_BTF_ID | MEM_ALLOC | PTR_UNTRUSTED and PTR_TO_MEM | MEM_RDONLY |
PTR_UNTRUSTED.&lt;/p&gt;
&lt;p&gt;This is reachable e.g. by loading -&amp;gt;mm out of a trusted task_struct
yields an untrusted pointer to mm_struct, and it is NULL for a kernel
thread:&lt;/p&gt;
&lt;p&gt;[...]
  SEC(&amp;#34;tp_btf/sched_switch&amp;#34;)
  int BPF_PROG(demo, bool preempt, struct task_struct *prev,
               struct task_struct *next)
  {
      struct mm_struct *mm = next-&amp;gt;mm;  /* untrusted */&lt;/p&gt;
&lt;p&gt;out_ldx = (__u64)mm-&amp;gt;pgd;         /* BPF_LDX      */
      out_acq = load_acquire(&amp;amp;mm-&amp;gt;pgd); /* BPF_LOAD_ACQ */
      return 0;
  }
  [...]&lt;/p&gt;
&lt;p&gt;Both dereference the same pointer, but only the BPF_LDX is protected
(x86-64 JIT, jump targets shown prog-relative):&lt;/p&gt;
&lt;p&gt;[...]
  ; out_ldx = (__u64)mm-&amp;gt;pgd;
  17:   movq    $-10485760, %r10
  1e:   movq    %rsi, %r11
  21:   addq    $184, %r11
  28:   subq    %r10, %r11
  2b:   movabsq $140737498841088, %r10
  35:   cmpq    %r10, %r11
  38:   ja…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;bpf: Reject load-acquire from pointers requiring fault protection&lt;/p&gt;
&lt;p&gt;A BPF_LOAD_ACQ is not rewritten to a BPF_PROBE_MEM load by the verifier,
unlike a regular BPF_LDX, so the JIT emits a plain load with no exception
table entry and a fault panics the kernel instead of being handled.&lt;/p&gt;
&lt;p&gt;Reject the source pointer types that a BPF_LDX would have had that fault
protection applied to, i.e. the ones bpf_convert_ctx_accesses() turns
into BPF_PROBE_MEM: a bare PTR_TO_BTF_ID, PTR_TO_BTF_ID | PTR_UNTRUSTED,
PTR_TO_BTF_ID | MEM_ALLOC | PTR_UNTRUSTED and PTR_TO_MEM | MEM_RDONLY |
PTR_UNTRUSTED.&lt;/p&gt;
&lt;p&gt;This is reachable e.g. by loading -&amp;gt;mm out of a trusted task_struct
yields an untrusted pointer to mm_struct, and it is NULL for a kernel
thread:&lt;/p&gt;
&lt;p&gt;[...]
  SEC(&amp;#34;tp_btf/sched_switch&amp;#34;)
  int BPF_PROG(demo, bool preempt, struct task_struct *prev,
               struct task_struct *next)
  {
      struct mm_struct *mm = next-&amp;gt;mm;  /* untrusted */&lt;/p&gt;
&lt;p&gt;out_ldx = (__u64)mm-&amp;gt;pgd;         /* BPF_LDX      */
      out_acq = load_acquire(&amp;amp;mm-&amp;gt;pgd); /* BPF_LOAD_ACQ */
      return 0;
  }
  [...]&lt;/p&gt;
&lt;p&gt;Both dereference the same pointer, but only the BPF_LDX is protected
(x86-64 JIT, jump targets shown prog-relative):&lt;/p&gt;
&lt;p&gt;[...]
  ; out_ldx = (__u64)mm-&amp;gt;pgd;
  17:   movq    $-10485760, %r10
  1e:   movq    %rsi, %r11
  21:   addq    $184, %r11
  28:   subq    %r10, %r11
  2b:   movabsq $140737498841088, %r10
  35:   cmpq    %r10, %r11
  38:   ja…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/fkie_cve-2026-90269</guid>
    </item>
    <item>
      <title>GHSA-2xhx-g2j2-v5cp</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-2xhx-g2j2-v5cp</link>
      <description>&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;bpf: Reject load-acquire from pointers requiring fault protection&lt;/p&gt;
&lt;p&gt;A BPF_LOAD_ACQ is not rewritten to a BPF_PROBE_MEM load by the verifier,
unlike a regular BPF_LDX, so the JIT emits a plain load with no exception
table entry and a fault panics the kernel instead of being handled.&lt;/p&gt;
&lt;p&gt;Reject the source pointer types that a BPF_LDX would have had that fault
protection applied to, i.e. the ones bpf_convert_ctx_accesses() turns
into BPF_PROBE_MEM: a bare PTR_TO_BTF_ID, PTR_TO_BTF_ID | PTR_UNTRUSTED,
PTR_TO_BTF_ID | MEM_ALLOC | PTR_UNTRUSTED and PTR_TO_MEM | MEM_RDONLY |
PTR_UNTRUSTED.&lt;/p&gt;
&lt;p&gt;This is reachable e.g. by loading -&amp;gt;mm out of a trusted task_struct
yields an untrusted pointer to mm_struct, and it is NULL for a kernel
thread:&lt;/p&gt;
&lt;p&gt;[...]
  SEC(&amp;#34;tp_btf/sched_switch&amp;#34;)
  int BPF_PROG(demo, bool preempt, struct task_struct *prev,
               struct task_struct *next)
  {
      struct mm_struct *mm = next-&amp;gt;mm;  /* untrusted */&lt;/p&gt;
&lt;p&gt;out_ldx = (__u64)mm-&amp;gt;pgd;         /* BPF_LDX      */
      out_acq = load_acquire(&amp;amp;mm-&amp;gt;pgd); /* BPF_LOAD_ACQ */
      return 0;
  }
  [...]&lt;/p&gt;
&lt;p&gt;Both dereference the same pointer, but only the BPF_LDX is protected
(x86-64 JIT, jump targets shown prog-relative):&lt;/p&gt;
&lt;p&gt;[...]
  ; out_ldx = (__u64)mm-&amp;gt;pgd;
  17:   movq    $-10485760, %r10
  1e:   movq    %rsi, %r11
  21:   addq    $184, %r11
  28:   subq    %r10, %r11
  2b:   movabsq $140737498841088, %r10
  35:   cmpq    %r10, %r11
  38:   ja…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;bpf: Reject load-acquire from pointers requiring fault protection&lt;/p&gt;
&lt;p&gt;A BPF_LOAD_ACQ is not rewritten to a BPF_PROBE_MEM load by the verifier,
unlike a regular BPF_LDX, so the JIT emits a plain load with no exception
table entry and a fault panics the kernel instead of being handled.&lt;/p&gt;
&lt;p&gt;Reject the source pointer types that a BPF_LDX would have had that fault
protection applied to, i.e. the ones bpf_convert_ctx_accesses() turns
into BPF_PROBE_MEM: a bare PTR_TO_BTF_ID, PTR_TO_BTF_ID | PTR_UNTRUSTED,
PTR_TO_BTF_ID | MEM_ALLOC | PTR_UNTRUSTED and PTR_TO_MEM | MEM_RDONLY |
PTR_UNTRUSTED.&lt;/p&gt;
&lt;p&gt;This is reachable e.g. by loading -&amp;gt;mm out of a trusted task_struct
yields an untrusted pointer to mm_struct, and it is NULL for a kernel
thread:&lt;/p&gt;
&lt;p&gt;[...]
  SEC(&amp;#34;tp_btf/sched_switch&amp;#34;)
  int BPF_PROG(demo, bool preempt, struct task_struct *prev,
               struct task_struct *next)
  {
      struct mm_struct *mm = next-&amp;gt;mm;  /* untrusted */&lt;/p&gt;
&lt;p&gt;out_ldx = (__u64)mm-&amp;gt;pgd;         /* BPF_LDX      */
      out_acq = load_acquire(&amp;amp;mm-&amp;gt;pgd); /* BPF_LOAD_ACQ */
      return 0;
  }
  [...]&lt;/p&gt;
&lt;p&gt;Both dereference the same pointer, but only the BPF_LDX is protected
(x86-64 JIT, jump targets shown prog-relative):&lt;/p&gt;
&lt;p&gt;[...]
  ; out_ldx = (__u64)mm-&amp;gt;pgd;
  17:   movq    $-10485760, %r10
  1e:   movq    %rsi, %r11
  21:   addq    $184, %r11
  28:   subq    %r10, %r11
  2b:   movabsq $140737498841088, %r10
  35:   cmpq    %r10, %r11
  38:   ja…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-2xhx-g2j2-v5cp</guid>
    </item>
    <item>
      <title>openSUSE-SU-2026:11893-1 — kernel-devel-7.2.8-1.1 on GA media</title>
      <link>https://vulnerability.circl.lu/vuln/opensuse-su-2026:11893-1</link>
      <description>&lt;p&gt;kernel-devel-7.2.8-1.1 on GA media&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;kernel-devel-7.2.8-1.1 on GA media&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/opensuse-su-2026:11893-1</guid>
    </item>
    <item>
      <title>UBUNTU-CVE-2026-90269</title>
      <link>https://vulnerability.circl.lu/vuln/ubuntu-cve-2026-90269</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Ubuntu:16.04:LTS: linux-hwe-edge, Ubuntu:18.04:LTS: linux-aws-5.0, Ubuntu:18.04:LTS: linux-aws-5.3, Ubuntu:18.04:LTS: linux-azure, Ubuntu:18.04:LTS: linux-azure-5.3, Ubuntu:18.04:LTS: linux-azure-edge, Ubuntu:18.04:LTS: linux-gcp, Ubuntu:18.04:LTS: linux-gcp-5.3, Ubuntu:18.04:LTS: linux-gke-4.15, Ubuntu:18.04:LTS: linux-gke-5.4 and 120 more&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved: bpf: Reject load-acquire from pointers requiring fault protection A BPF_LOAD_ACQ is not rewritten to a BPF_PROBE_MEM load by the verifier, unlike a regular BPF_LDX, so the JIT emits a plain load with no exception table entry and a fault panics the kernel instead of being handled. Reject the source pointer types that a BPF_LDX would have had that fault protection applied to, i.e. the ones bpf_convert_ctx_accesses() turns into BPF_PROBE_MEM: a bare PTR_TO_BTF_ID, PTR_TO_BTF_ID | PTR_UNTRUSTED, PTR_TO_BTF_ID | MEM_ALLOC | PTR_UNTRUSTED and PTR_TO_MEM | MEM_RDONLY | PTR_UNTRUSTED. This is reachable e.g. by loading -&amp;gt;mm out of a trusted task_struct yields an untrusted pointer to mm_struct, and it is NULL for a kernel thread:   [...]   SEC(&amp;#34;tp_btf/sched_switch&amp;#34;)   int BPF_PROG(demo, bool preempt, struct task_struct *prev,                struct task_struct *next)   {       struct mm_struct *mm = next-&amp;gt;mm;  /* untrusted */       out_ldx = (__u64)mm-&amp;gt;pgd;         /* BPF_LDX      */       out_acq = load_acquire(&amp;amp;mm-&amp;gt;pgd); /* BPF_LOAD_ACQ */       return 0;   }   [...] Both dereference the same pointer, but only the BPF_LDX is protected (x86-64 JIT, jump targets shown prog-relative):   [...]   ; out_ldx = (__u64)mm-&amp;gt;pgd;   17:   movq    $-10485760, %r10   1e:   movq    %rsi, %r11   21:   addq    $184, %r11   28:   subq    %r10, %r11   2b:   movabsq $140737498841088, %r10   35:   cmpq    %r10, %r11   38:   ja      0x3e…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Ubuntu:16.04:LTS: linux-hwe-edge, Ubuntu:18.04:LTS: linux-aws-5.0, Ubuntu:18.04:LTS: linux-aws-5.3, Ubuntu:18.04:LTS: linux-azure, Ubuntu:18.04:LTS: linux-azure-5.3, Ubuntu:18.04:LTS: linux-azure-edge, Ubuntu:18.04:LTS: linux-gcp, Ubuntu:18.04:LTS: linux-gcp-5.3, Ubuntu:18.04:LTS: linux-gke-4.15, Ubuntu:18.04:LTS: linux-gke-5.4 and 120 more&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved: bpf: Reject load-acquire from pointers requiring fault protection A BPF_LOAD_ACQ is not rewritten to a BPF_PROBE_MEM load by the verifier, unlike a regular BPF_LDX, so the JIT emits a plain load with no exception table entry and a fault panics the kernel instead of being handled. Reject the source pointer types that a BPF_LDX would have had that fault protection applied to, i.e. the ones bpf_convert_ctx_accesses() turns into BPF_PROBE_MEM: a bare PTR_TO_BTF_ID, PTR_TO_BTF_ID | PTR_UNTRUSTED, PTR_TO_BTF_ID | MEM_ALLOC | PTR_UNTRUSTED and PTR_TO_MEM | MEM_RDONLY | PTR_UNTRUSTED. This is reachable e.g. by loading -&amp;gt;mm out of a trusted task_struct yields an untrusted pointer to mm_struct, and it is NULL for a kernel thread:   [...]   SEC(&amp;#34;tp_btf/sched_switch&amp;#34;)   int BPF_PROG(demo, bool preempt, struct task_struct *prev,                struct task_struct *next)   {       struct mm_struct *mm = next-&amp;gt;mm;  /* untrusted */       out_ldx = (__u64)mm-&amp;gt;pgd;         /* BPF_LDX      */       out_acq = load_acquire(&amp;amp;mm-&amp;gt;pgd); /* BPF_LOAD_ACQ */       return 0;   }   [...] Both dereference the same pointer, but only the BPF_LDX is protected (x86-64 JIT, jump targets shown prog-relative):   [...]   ; out_ldx = (__u64)mm-&amp;gt;pgd;   17:   movq    $-10485760, %r10   1e:   movq    %rsi, %r11   21:   addq    $184, %r11   28:   subq    %r10, %r11   2b:   movabsq $140737498841088, %r10   35:   cmpq    %r10, %r11   38:   ja      0x3e…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ubuntu-cve-2026-90269</guid>
    </item>
  </channel>
</rss>
