Skip to content

[ciqlts8_6] Multiple patches tested (5 commits) - #1696

Merged
PlaidCat merged 5 commits into
ciqlts8_6from
{ciq_kernel_automation}_ciqlts8_6
Oct 14, 2026
Merged

PlaidCat merged 5 commits into
ciqlts8_6from
{ciq_kernel_automation}_ciqlts8_6

Conversation

@ciq-kernel-automation

Copy link
Copy Markdown

Summary

This PR has been automatically created after successful completion of all CI stages.

Commit Message(s)

xfrm: policy: fix use-after-free on inexact bin in xfrm_policy_bysel_ctx()

jira VULN-190319
cve CVE-2026-53239
commit-author Sanghyun Park <sanghyun.park.cnu@gmail.com>
commit 7f2d76c9c03257c0782afef9d95321fa04096f60
net: qrtr: restrict socket creation to the initial network namespace

jira VULN-198103
cve CVE-2026-68294
commit-author Aldo Ariel Panzardo <qwe.aldo@gmail.com>
commit 3b536db8fb32da9e9c62f2bb45e2e319331f0426
scsi: libiscsi_tcp: Bound SCSI Response data segment to the connection buffer

jira VULN-204162
cve CVE-2026-74556
commit-author HyeongJun An <sammiee5311@gmail.com>
commit c1dea15f819cded9b3faf58f8bec72323568b6e6
udp: fix potential use-after-free in tunnel segmentation

jira VULN-205110
cve CVE-2026-74705
commit-author Xuanqiang Luo <luoxuanqiang@kylinos.cn>
commit d0f86fb36eb260abd10007b62c9dcc1028e03e61
netfilter: flowtable: publish GC-visible tuple last

jira VULN-206205
cve CVE-2026-74746
commit-author Jérémy Jean <Jeremy.Jean@oss.cyber.gouv.fr>
commit 2014ac62df9d45bb9a004a043e85df7be09ed780

Test Results

✅ Build Stage

Architecture Build Time Total Time
x86_64 15m 34s 16m 25s
aarch64 10m 4s 10m 42s

✅ Boot Verification

✅ Kernel Selftests

Architecture Passed Failed Compared Against Status
x86_64 108 31 ciqlts8_6 ⚠️ No baseline available
aarch64 66 21 ciqlts8_6 ⚠️ No baseline available

✅ LTP Results

Architecture Passed Failed Compared Against Status
x86_64 1453 14 ciqlts8_6 ❌ 1 regressions
aarch64 1425 14 ciqlts8_6 ❌ 1 regressions

x86_64 regressions:

  • futex_wake02 (PASS -> FAIL)
    aarch64 regressions:
  • starvation (PASS -> FAIL)

🤖 This PR was automatically generated by GitHub Actions
Run ID: 38525094961

CIQ Kernel Automation added 5 commits October 14, 2026 06:50
…ctx()

jira VULN-190319
cve CVE-2026-53239
commit-author Sanghyun Park <sanghyun.park.cnu@gmail.com>
commit 7f2d76c

Fix the race by pruning the bin while still holding xfrm_policy_lock,
before dropping it. Use __xfrm_policy_inexact_prune_bin() directly since
the lock is already held. The wrapper xfrm_policy_inexact_prune_bin()
becomes unused and is removed.

Race:

  CPU0 (XFRM_MSG_DELPOLICY)           CPU1 (XFRM_MSG_NEWSPDINFO)
  ==========================          ==========================
  xfrm_policy_bysel_ctx():
    spin_lock_bh(xfrm_policy_lock)
    bin = xfrm_policy_inexact_lookup()
    __xfrm_policy_unlink(pol)
    spin_unlock_bh(xfrm_policy_lock)
    xfrm_policy_kill(ret)
    // wide window, lock not held
                                       xfrm_hash_rebuild():
                                         spin_lock_bh(xfrm_policy_lock)
                                         __xfrm_policy_inexact_flush():
                                           kfree_rcu(bin)  // bin freed
                                         spin_unlock_bh(xfrm_policy_lock)
    xfrm_policy_inexact_prune_bin(bin)
    // UAF: bin is freed

Fixes: 6be3b0d ("xfrm: policy: add inexact policy search tree infrastructure")
	Signed-off-by: Sanghyun Park <sanghyun.park.cnu@gmail.com>
	Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
(cherry picked from commit 7f2d76c)
	Signed-off-by: CIQ Kernel Automation <ciq_kernel_automation@ciq.com>
jira VULN-198103
cve CVE-2026-68294
commit-author Aldo Ariel Panzardo <qwe.aldo@gmail.com>
commit 3b536db

QRTR keeps its entire port and node state in module-global variables
that are not partitioned per network namespace: qrtr_local_nid is a
single global node id (always 1) and qrtr_ports is a single global
xarray. qrtr_port_lookup() and qrtr_local_enqueue() operate on that
global state with no network-namespace check, and qrtr_create() places
no restriction on the namespace a socket is created in.

As a result an unprivileged process that creates an AF_QIPCRTR socket
in a separate network namespace, e.g. via
unshare(CLONE_NEWUSER | CLONE_NEWNET), can send QRTR datagrams -
including control-plane messages such as QRTR_TYPE_NEW_SERVER - to QRTR
sockets owned by another namespace, and vice versa. The receiving
socket sees such a message as coming from node id 1, indistinguishable
from a legitimate local client, breaking the isolation that network
namespaces are expected to provide.

QRTR is a transport to global hardware endpoints (the modem and other
remote processors) and has no per-namespace semantics; its in-kernel
name service already creates its socket in init_net only. Confine the
socket family to the initial network namespace, as other
non-namespace-aware socket families do (see llc_ui_create() and the
ieee802154 socket code).

Fixes: bdabad3 ("net: Add Qualcomm IPC router")
	Signed-off-by: Aldo Ariel Panzardo <qwe.aldo@gmail.com>
Link: https://patch.msgid.link/20260716154319.3297699-1-qwe.aldo@gmail.com
	Signed-off-by: Jakub Kicinski <kuba@kernel.org>
(cherry picked from commit 3b536db)
	Signed-off-by: CIQ Kernel Automation <ciq_kernel_automation@ciq.com>
…n buffer

jira VULN-204162
cve CVE-2026-74556
commit-author HyeongJun An <sammiee5311@gmail.com>
commit c1dea15

iscsi_tcp_hdr_dissect() receives the data segment of several PDU types
into the fixed-size conn->data buffer, which is allocated for
ISCSI_DEF_MAX_RECV_SEG_LEN (8192) bytes.  For the LOGIN_RSP, TEXT_RSP,
REJECT and ASYNC_EVENT opcodes the dissect path already rejects a PDU
whose DataSegmentLength exceeds that buffer.

The SCSI Command Response (ISCSI_OP_SCSI_CMD_RSP) path also copies its
data segment (sense/response data) into conn->data via
iscsi_tcp_data_recv_prep(), but it does so without the same check.  The
only upstream bound on in.datalen is conn->max_recv_dlength, the
initiator's advertised MaxRecvDataSegmentLength, which is commonly
negotiated well above 8192 (open-iscsi defaults to 262144).  A target
that returns a SCSI Response with a DataSegmentLength between 8193 and
max_recv_dlength therefore overflows the 8192-byte conn->data buffer.

Once the same bound applies, ISCSI_OP_SCSI_CMD_RSP is handled exactly
like those responses: bound the data segment, receive it into conn->data
when present, and otherwise complete the PDU with no data.  Fold the
opcode into that case group rather than duplicating the check.

Fixes: a081c13 ("[SCSI] iscsi_tcp: split module into lib and lld")
	Suggested-by: Chris Leech <cleech@redhat.com>
Assisted-by: Claude:claude-opus-4-8
	Signed-off-by: HyeongJun An <sammiee5311@gmail.com>
	Acked-by: Chris Leech <cleech@redhat.com>
Link: https://patch.msgid.link/20260716065848.1653431-1-sammiee5311@gmail.com
	Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
(cherry picked from commit c1dea15)
	Signed-off-by: CIQ Kernel Automation <ciq_kernel_automation@ciq.com>
jira VULN-205110
cve CVE-2026-74705
commit-author Xuanqiang Luo <luoxuanqiang@kylinos.cn>
commit d0f86fb

__skb_udp_tunnel_segment() gets the UDP header before ensuring the
tunnel header is in the skb head. If the pull reallocates skb->head,
the saved UDP header pointer is no longer valid.

Get the UDP header after the pull to avoid a potential use-after-free.

Fixes: dbef491 ("udp: Use uh->len instead of skb->len to compute checksum in segmentation")
	Signed-off-by: Xuanqiang Luo <luoxuanqiang@kylinos.cn>
	Reviewed-by: Antoine Tenart <atenart@kernel.org>
Link: https://patch.msgid.link/20260730093554.68127-1-xuanqiang.luo@linux.dev
	Signed-off-by: Jakub Kicinski <kuba@kernel.org>
(cherry picked from commit d0f86fb)
	Signed-off-by: CIQ Kernel Automation <ciq_kernel_automation@ciq.com>
jira VULN-206205
cve CVE-2026-74746
commit-author Jérémy Jean <Jeremy.Jean@oss.cyber.gouv.fr>
commit 2014ac6

nf_flow_table_iterate() only treats original-direction tuple nodes as
owning entries. Publishing the original node first lets GC observe and
free a flow while flow_offload_add() is still inserting the reply node.
Publish the reply node first and the original node last so GC never
sees a partially installed flow.

KASAN can trigger slab-use-after-free read and write reports in the
flowtable/rhashtable path (rht_deferred_worker, jhash, flow_offload_del,
flow_offload_lookup, etc.).

Fixes: ac2a666 ("netfilter: add generic flow table infrastructure")
	Signed-off-by: Jérémy Jean <Jeremy.Jean@oss.cyber.gouv.fr>
Assisted-by: Codex:gpt-5
	Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
(cherry picked from commit 2014ac6)
	Signed-off-by: CIQ Kernel Automation <ciq_kernel_automation@ciq.com>
@ciq-kernel-automation ciq-kernel-automation Bot added the created-by-kernelci Tag PRs that were automatically created when a user branch was pushed to the repo (kernelCI) label Oct 14, 2026
@github-actions

Copy link
Copy Markdown

🤖 Validation Checks In Progress Workflow run: https://github.com/ctrliq/kernel-src-tree/actions/runs/38553860321

@github-actions

Copy link
Copy Markdown

✅ Diffofdiffs: No differences found

Compared 5 backports with upstream.

Checked PR revision 0b460a94820a against base 64550426b591.

@github-actions

Copy link
Copy Markdown

✅ Validation checks completed successfully View full results: https://github.com/ctrliq/kernel-src-tree/actions/runs/38553860321

@PlaidCat
PlaidCat requested a review from a team October 14, 2026 13:15

@PlaidCat PlaidCat left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@PlaidCat
PlaidCat requested a review from a team October 14, 2026 13:33

@bmastbergen bmastbergen left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🥌

@PlaidCat
PlaidCat merged commit d4a6d7c into ciqlts8_6 Oct 14, 2026
6 checks passed
@PlaidCat
PlaidCat deleted the {ciq_kernel_automation}_ciqlts8_6 branch October 14, 2026 18:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

created-by-kernelci Tag PRs that were automatically created when a user branch was pushed to the repo (kernelCI)

Development

Successfully merging this pull request may close these issues.

2 participants