<?xml version="1.0" encoding="UTF-8"?>
<cvrfdoc xmlns="http://www.icasi.org/CVRF/schema/cvrf/1.1" xmlns:cvrf="http://www.icasi.org/CVRF/schema/cvrf/1.1">
  <DocumentTitle xml:lang="en">Security update for the Linux Kernel RT (Live Patch 16 for SLE 15 SP5)</DocumentTitle>
  <DocumentType>SUSE Patch</DocumentType>
  <DocumentPublisher Type="Vendor">
    <ContactDetails>security@suse.de</ContactDetails>
    <IssuingAuthority>SUSE Security Team</IssuingAuthority>
  </DocumentPublisher>
  <DocumentTracking>
    <Identification>
      <ID>SUSE-SU-2024:3319-1</ID>
    </Identification>
    <Status>Final</Status>
    <Version>1</Version>
    <RevisionHistory>
      <Revision>
        <Number>1</Number>
        <Date>2024-09-18T20:33:32Z</Date>
        <Description>current</Description>
      </Revision>
    </RevisionHistory>
    <InitialReleaseDate>2024-09-18T20:33:32Z</InitialReleaseDate>
    <CurrentReleaseDate>2024-09-18T20:33:32Z</CurrentReleaseDate>
    <Generator>
      <Engine>cve-database/bin/generate-cvrf.pl</Engine>
      <Date>2017-02-24T01:00:00Z</Date>
    </Generator>
  </DocumentTracking>
  <DocumentNotes>
    <Note Title="Topic" Type="Summary" Ordinal="1" xml:lang="en">Security update for the Linux Kernel RT (Live Patch 16 for SLE 15 SP5)</Note>
    <Note Title="Details" Type="General" Ordinal="2" xml:lang="en">This update for the Linux Kernel 5.14.21-150500_13_58 fixes several issues.

The following security issues were fixed:

- CVE-2024-40909: Fix a potential use-after-free in bpf_link_free() (bsc#1228349).
- CVE-2023-52846: Prevent use after free in prp_create_tagged_frame() (bsc#1225099).
- CVE-2024-26923: Fixed false-positive lockdep splat for spin_lock() in __unix_gc() (bsc#1223683).
</Note>
    <Note Title="Terms of Use" Type="Legal Disclaimer" Ordinal="3" xml:lang="en">The CVRF data is provided by SUSE under the Creative Commons License 4.0 with Attribution (CC-BY-4.0).</Note>
    <Note Title="Patchnames" Type="Details" Ordinal="4" xml:lang="en">SUSE-2024-3319,SUSE-SLE-Module-Live-Patching-15-SP5-2024-3319</Note>
  </DocumentNotes>
  <DocumentDistribution xml:lang="en">Copyright SUSE LLC under the Creative Commons License 4.0 with Attribution (CC-BY-4.0)</DocumentDistribution>
  <DocumentReferences>
    <Reference Type="Self">
      <URL>https://www.suse.com/support/update/announcement/2024/suse-su-20243319-1/</URL>
      <Description>Link for SUSE-SU-2024:3319-1</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://lists.suse.com/pipermail/sle-updates/2024-September/036960.html</URL>
      <Description>E-Mail link for SUSE-SU-2024:3319-1</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://www.suse.com/support/security/rating/</URL>
      <Description>SUSE Security Ratings</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://bugzilla.suse.com/1223683</URL>
      <Description>SUSE Bug 1223683</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://bugzilla.suse.com/1225099</URL>
      <Description>SUSE Bug 1225099</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://bugzilla.suse.com/1228349</URL>
      <Description>SUSE Bug 1228349</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://www.suse.com/security/cve/CVE-2023-52846/</URL>
      <Description>SUSE CVE CVE-2023-52846 page</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://www.suse.com/security/cve/CVE-2024-26923/</URL>
      <Description>SUSE CVE CVE-2024-26923 page</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://www.suse.com/security/cve/CVE-2024-40909/</URL>
      <Description>SUSE CVE CVE-2024-40909 page</Description>
    </Reference>
  </DocumentReferences>
  <ProductTree xmlns="http://www.icasi.org/CVRF/schema/prod/1.1">
    <Branch Type="Product Family" Name="SUSE Linux Enterprise Live Patching 15 SP5">
      <Branch Type="Product Name" Name="SUSE Linux Enterprise Live Patching 15 SP5">
        <FullProductName ProductID="SUSE Linux Enterprise Live Patching 15 SP5" CPE="cpe:/o:suse:sle-module-live-patching:15:sp5">SUSE Linux Enterprise Live Patching 15 SP5</FullProductName>
      </Branch>
    </Branch>
    <Branch Type="Product Version" Name="kernel-livepatch-5_14_21-150500_13_58-rt-3-150500.11.6.1">
      <FullProductName ProductID="kernel-livepatch-5_14_21-150500_13_58-rt-3-150500.11.6.1">kernel-livepatch-5_14_21-150500_13_58-rt-3-150500.11.6.1</FullProductName>
    </Branch>
    <Relationship ProductReference="kernel-livepatch-5_14_21-150500_13_58-rt-3-150500.11.6.1" RelationType="Default Component Of" RelatesToProductReference="SUSE Linux Enterprise Live Patching 15 SP5">
      <FullProductName ProductID="SUSE Linux Enterprise Live Patching 15 SP5:kernel-livepatch-5_14_21-150500_13_58-rt-3-150500.11.6.1">kernel-livepatch-5_14_21-150500_13_58-rt-3-150500.11.6.1 as a component of SUSE Linux Enterprise Live Patching 15 SP5</FullProductName>
    </Relationship>
  </ProductTree>
  <Vulnerability xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1" Ordinal="1">
    <Notes>
      <Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:

hsr: Prevent use after free in prp_create_tagged_frame()

The prp_fill_rct() function can fail.  In that situation, it frees the
skb and returns NULL.  Meanwhile on the success path, it returns the
original skb.  So it's straight forward to fix bug by using the returned
value.</Note>
    </Notes>
    <CVE>CVE-2023-52846</CVE>
    <ProductStatuses>
      <Status Type="Fixed">
        <ProductID>SUSE Linux Enterprise Live Patching 15 SP5:kernel-livepatch-5_14_21-150500_13_58-rt-3-150500.11.6.1</ProductID>
      </Status>
    </ProductStatuses>
    <Threats>
      <Threat Type="Impact">
        <Description>moderate</Description>
      </Threat>
    </Threats>
    <Remediations>
      <Remediation Type="Vendor Fix">
        <Description xml:lang="en">To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
</Description>
        <URL>https://www.suse.com/support/update/announcement/2024/suse-su-20243319-1/</URL>
      </Remediation>
    </Remediations>
    <References>
      <Reference>
        <URL>https://www.suse.com/security/cve/CVE-2023-52846.html</URL>
        <Description>CVE-2023-52846</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/1225098</URL>
        <Description>SUSE Bug 1225098</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/1225099</URL>
        <Description>SUSE Bug 1225099</Description>
      </Reference>
    </References>
  </Vulnerability>
  <Vulnerability xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1" Ordinal="2">
    <Notes>
      <Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:

af_unix: Fix garbage collector racing against connect()

Garbage collector does not take into account the risk of embryo getting
enqueued during the garbage collection. If such embryo has a peer that
carries SCM_RIGHTS, two consecutive passes of scan_children() may see a
different set of children. Leading to an incorrectly elevated inflight
count, and then a dangling pointer within the gc_inflight_list.

sockets are AF_UNIX/SOCK_STREAM
S is an unconnected socket
L is a listening in-flight socket bound to addr, not in fdtable
V's fd will be passed via sendmsg(), gets inflight count bumped

connect(S, addr)	sendmsg(S, [V]); close(V)	__unix_gc()
----------------	-------------------------	-----------

NS = unix_create1()
skb1 = sock_wmalloc(NS)
L = unix_find_other(addr)
unix_state_lock(L)
unix_peer(S) = NS
			// V count=1 inflight=0

 			NS = unix_peer(S)
 			skb2 = sock_alloc()
			skb_queue_tail(NS, skb2[V])

			// V became in-flight
			// V count=2 inflight=1

			close(V)

			// V count=1 inflight=1
			// GC candidate condition met

						for u in gc_inflight_list:
						  if (total_refs == inflight_refs)
						    add u to gc_candidates

						// gc_candidates={L, V}

						for u in gc_candidates:
						  scan_children(u, dec_inflight)

						// embryo (skb1) was not
						// reachable from L yet, so V's
						// inflight remains unchanged
__skb_queue_tail(L, skb1)
unix_state_unlock(L)
						for u in gc_candidates:
						  if (u.inflight)
						    scan_children(u, inc_inflight_move_tail)

						// V count=1 inflight=2 (!)

If there is a GC-candidate listening socket, lock/unlock its state. This
makes GC wait until the end of any ongoing connect() to that socket. After
flipping the lock, a possibly SCM-laden embryo is already enqueued. And if
there is another embryo coming, it can not possibly carry SCM_RIGHTS. At
this point, unix_inflight() can not happen because unix_gc_lock is already
taken. Inflight graph remains unaffected.</Note>
    </Notes>
    <CVE>CVE-2024-26923</CVE>
    <ProductStatuses>
      <Status Type="Fixed">
        <ProductID>SUSE Linux Enterprise Live Patching 15 SP5:kernel-livepatch-5_14_21-150500_13_58-rt-3-150500.11.6.1</ProductID>
      </Status>
    </ProductStatuses>
    <Threats>
      <Threat Type="Impact">
        <Description>moderate</Description>
      </Threat>
    </Threats>
    <Remediations>
      <Remediation Type="Vendor Fix">
        <Description xml:lang="en">To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
</Description>
        <URL>https://www.suse.com/support/update/announcement/2024/suse-su-20243319-1/</URL>
      </Remediation>
    </Remediations>
    <References>
      <Reference>
        <URL>https://www.suse.com/security/cve/CVE-2024-26923.html</URL>
        <Description>CVE-2024-26923</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/1223384</URL>
        <Description>SUSE Bug 1223384</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/1223683</URL>
        <Description>SUSE Bug 1223683</Description>
      </Reference>
    </References>
  </Vulnerability>
  <Vulnerability xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1" Ordinal="3">
    <Notes>
      <Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">In the Linux kernel, the following vulnerability has been resolved:

bpf: Fix a potential use-after-free in bpf_link_free()

After commit 1a80dbcb2dba, bpf_link can be freed by
link-&gt;ops-&gt;dealloc_deferred, but the code still tests and uses
link-&gt;ops-&gt;dealloc afterward, which leads to a use-after-free as
reported by syzbot. Actually, one of them should be sufficient, so
just call one of them instead of both. Also add a WARN_ON() in case
of any problematic implementation.</Note>
    </Notes>
    <CVE>CVE-2024-40909</CVE>
    <ProductStatuses>
      <Status Type="Fixed">
        <ProductID>SUSE Linux Enterprise Live Patching 15 SP5:kernel-livepatch-5_14_21-150500_13_58-rt-3-150500.11.6.1</ProductID>
      </Status>
    </ProductStatuses>
    <Threats>
      <Threat Type="Impact">
        <Description>important</Description>
      </Threat>
    </Threats>
    <Remediations>
      <Remediation Type="Vendor Fix">
        <Description xml:lang="en">To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
</Description>
        <URL>https://www.suse.com/support/update/announcement/2024/suse-su-20243319-1/</URL>
      </Remediation>
    </Remediations>
    <References>
      <Reference>
        <URL>https://www.suse.com/security/cve/CVE-2024-40909.html</URL>
        <Description>CVE-2024-40909</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/1227798</URL>
        <Description>SUSE Bug 1227798</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/1228349</URL>
        <Description>SUSE Bug 1228349</Description>
      </Reference>
    </References>
  </Vulnerability>
</cvrfdoc>
