In the Linux kernel, the following vulnerability has been resolved:
rxrpc: Fix UAF in rxgk_issue_challenge()
Fix rxgk_issue_challenge() to free the page containing the challenge
content after invoking the tracepoint as the whdr passed to the tracepoint
points into the page just freed.
CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS Score: 9.8
AV:N - The bug is in rxgk_issue_challenge() on the RxRPC server path reached when a remote UDP RxRPC DATA packet starts a new call; packets enter via rxrpc_encap_rcv() and the I/O thread, then conn_event processing issues an RxGK challenge during the pre-auth handshake on internet-facing AFS/RxGK servers.
AC:L - Once an RxGK-enabled AFS kernel server is reachable, an attacker can reliably trigger rxgk_issue_challenge() by sending a valid incoming DATA packet with security index YFS-RxGK; the UAF is deterministic on each successful challenge transmission and does not depend on winning a race.
PR:N - The vulnerable code runs during initial server-side connection setup before client credentials are verified: an unauthenticated remote peer that can reach the RxRPC UDP port can force challenge issuance without any local account, capability, or namespace privilege on the target.
UI:N - Exploitation requires only network packets to the RxRPC listener; no victim user action such as opening files, mounting AFS, or enabling tracing is needed for the server to automatically enter the challenging path and hit the bug.
S:U - Impact is confined to kernel memory integrity and availability on the AFS/RxRPC server host; it does not by itself cross a VM, container, or IOMMU security boundary, though it may enable local privilege escalation on that host.
C:H - This is a use-after-free: __free_page() releases the challenge buffer before trace_rxrpc_tx_packet() dereferences whdr pointing into that page, enabling reads of freed slab/page memory and potential disclosure of kernel heap contents exploitable for KASLR bypass.
I:H - UAF on the challenge transmit path can be leveraged with heap grooming to obtain controlled reuse of the freed page and build arbitrary kernel write or control-flow hijack primitives, not merely a bounded protocol corruption.
A:H - Reading or reusing freed kernel pages during challenge handling can provoke kernel oops/panic or wedged RxRPC/AFS service state; repeated remote triggering of the handshake can deny availability of the file service even without full exploitation.
| Attack Vector |
Network |
Scope |
Unchanged |
| Attack Complexity |
Low |
Confidentiality Impact |
High |
| Privileges Required |
None |
Integrity Impact |
High |
| User Interaction |
None |
Availability Impact |
High |
AV:N - The bug is in rxgk_issue_challenge() on the RxRPC server path reached when a remote UDP RxRPC DATA packet starts a new call; packets enter via rxrpc_encap_rcv() and the I/O thread, then conn_event processing issues an RxGK challenge during the pre-auth handshake on internet-facing AFS/RxGK servers.
AC:L - Once an RxGK-enabled AFS kernel server is reachable, an attacker can reliably trigger rxgk_issue_challenge() by sending a valid incoming DATA packet with security index YFS-RxGK; the UAF is deterministic on each successful challenge transmission and does not depend on winning a race.
PR:N - The vulnerable code runs during initial server-side connection setup before client credentials are verified: an unauthenticated remote peer that can reach the RxRPC UDP port can force challenge issuance without any local account, capability, or namespace privilege on the target.
UI:N - Exploitation requires only network packets to the RxRPC listener; no victim user action such as opening files, mounting AFS, or enabling tracing is needed for the server to automatically enter the challenging path and hit the bug.
S:U - Impact is confined to kernel memory integrity and availability on the AFS/RxRPC server host; it does not by itself cross a VM, container, or IOMMU security boundary, though it may enable local privilege escalation on that host.
C:H - This is a use-after-free: __free_page() releases the challenge buffer before trace_rxrpc_tx_packet() dereferences whdr pointing into that page, enabling reads of freed slab/page memory and potential disclosure of kernel heap contents exploitable for KASLR bypass.
I:H - UAF on the challenge transmit path can be leveraged with heap grooming to obtain controlled reuse of the freed page and build arbitrary kernel write or control-flow hijack primitives, not merely a bounded protocol corruption.
A:H - Reading or reusing freed kernel pages during challenge handling can provoke kernel oops/panic or wedged RxRPC/AFS service state; repeated remote triggering of the handshake can deny availability of the file service even without full exploitation.
CVSS 3.1