* [CVE-2026-98229][MODERATE 7.0] xfrm: save input state data before secpath resets [ Upstream
@ 2026-10-09 14:41 AL-KERNEL
0 siblings, 0 replies; only message in thread
From: AL-KERNEL @ 2026-10-09 14:41 UTC (permalink / raw)
To: kernel-cve
CVE: CVE-2026-98229
Priority: MODERATE 7.0
AL-KERNEL base severity: MODERATE
KPANIC flag: YES
Patch: xfrm: save input state data before secpath resets [ Upstream
Commit: 35de97850987b3d022ed17df5b2577242e746daf
Upstream patch: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=35de97850987b3d022ed17df5b2577242e746daf
Original CVE announcement: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-98229
Analysis date: Fri, 09 Oct 2026 10:41:31 -0400
ActionableScore: 4
ActionableScore lower bound: unknown
Actionable bucket: Borderline / manual review recommended
Manual review required: YES
Summary:
No one-sentence report phrase was found.
======================================================================
ABOUT THIS REPORT
======================================================================
The original Linux kernel CVE announcement for CVE-2026-98229 is available here:
https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-98229
The original announcement does not normally provide a security severity
estimate, CVSS assessment, or enough information to determine whether the
reported kernel bug represents a practically relevant security issue.
This report was generated by AL-KERNEL, an AI-assisted Linux kernel
vulnerability analysis system developed by Alexander Larkin. It combines
an autonomous classifier with LLM-assisted technical analysis and a
separate ActionableScore mechanism.
The purpose of this report is to prioritize Linux kernel CVEs before
manual review, identify cases that require prompt investigation, and
support automatic closure of issues that are unlikely to have meaningful
security impact.
Published priority for this report: MODERATE 7.0
Manual review required: YES
A detailed explanation of the methodology and priority rules is included
at the end of this message.
======================================================================
AL-KERNEL CLASSIFICATION RESULT
======================================================================
CVE-2026-98229 MODERATE https://www.kernelcve.org/list/?q=CVE-2026-98229 CHECK WITH IMPACT FROM ORIG NN LOW | AEGIS IMPACT MODERATE_KPANIC AEGIS_AS=4 LEGACY=MODERATE_KPANIC RESULT=SAME (legacy and Aegis reconciliation agree; DECISION: both MODERATE_KPANIC) Maybe valid. Check manually. Hints by AL-KERNEL: The best (paranoid) CVSS is 'AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H';*CWE-416;CWE-362;*CWE-664;Other CVSS 'AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:H';BEST CVSS score: '7.5';DESCR 'A race in XFRM input processing can cause a use after free when secpath_reset drops the last reference to an xfrm_state while xfrm_input still uses that state. VTI and XFRM interface receive callbacks can reset the secpath before later reads of x type proto or x props family, and the XFRM_MAX_DEPTH drop path can expose a similar lifetime problem. A remote peer may reach the vulnerable receive path by sending traffic to a configured XFRM or IPsec tunnel while the related state is concurrently deleted or reset. For the CVSS the PR:L value is used because reliable remote triggering normally requires access as a valid IPsec peer or equivalent access to the configured tunnel path. AC:H is used because exploitation depends on a narrow race with state deletion and on a specific VTI or XFRM interface configuration. Impact is at least denial of service through a kernel crash. Reuse of the freed state memory may permit confidentiality or integrity impact in the worst case, although no reliable arbitrary write primitive is established by the available code. The issue is generally limited to systems that expose configured XFRM or IPsec tunnel processing and is not reachable on systems where these paths are not configured.';YES REQUIRES MANUAL CHECK; ,and ActionableScore result is Borderline / manual review recommended (with actual score 4) MAYBE OOB DANGER ERRORPATH UAF SKB LINUS PACKET KPANIC INCREASED_TO_MODERATE7_FROM_LOW_BASED_ON_GUESSCVSS_AND_ACTIONABLESCOREHIGHER4 - - checked
======================================================================
ACTIONABLESCORE ANALYSIS
======================================================================
ActionableScore=4
PrimitiveClass=CLASS_B
RealUAF=YES
HostAdminRequired=UNKNOWN
NamespaceScopedPrivilege=UNKNOWN
ImportantCandidate=NO
ManualReview=RECOMMENDED
AutoDowngradeAllowed=YES
1. ActionableScore
* Raw conservative score: 2
* Conservative score: 4
* Raw paranoid score: 2
* Paranoid score: 4
* Applied conservative REAL UAF FLOOR 4: 2 -> 4
* Applied paranoid REAL UAF FLOOR 4: 2 -> 4
* Final recommended bucket: **Borderline / manual review recommended**::
2. Signal breakdown
Positive signals:
* +2 Real UAF. `secpath_reset()` can drop the final `xfrm_state` reference while `xfrm_input()` retains `x` and later dereferences `x->type->proto` or `x->props.family`.
* +1 Reliable kernel crash or strong DoS. Dereferencing a freed `xfrm_state` or its stale `type` pointer can realistically cause an Oops or kernel crash.
Negative signals:
* -1 Hard timing requirement. The final state reference must be dropped while the same state is concurrently deleted and before the later dereference. The remote packet sender is not shown to control the deletion side of this race.
Signals not awarded:
* Direct remote reachability +2 was not awarded. Packets can enter the affected data path, but a configured XFRM or IPsec tunnel and concurrent state deletion are material prerequisites.
* Structured stale-object leverage was not awarded. The stale path consumes protocol and address-family fields, but attacker-controlled reclaim, replacement contents, or useful post-reuse state is not established.
* Strong or weak LPE leverage was not awarded merely because this is a UAF.
* No repeated-release point applies. `secpath_reset()` may perform the lifetime-ending release, but the later operations are stale reads rather than a second put, free, or refcount mutation on `x`.
* No separate confidentiality or integrity points were awarded. There is no disclosure, arbitrary write, controlled reclaim, or protected-state modification.
* No extra availability point was awarded because it would duplicate the same possible kernel crash.
* B5-R does not apply. The patch establishes no heap OOB write, retry-accumulated offset, or later consumption of OOB-corrupted descriptor state.
Repeated-release checks:
* The first release can end lifetime: yes, `secpath_reset()` can drop the final reference.
* The exact stale reference survives: yes, local variable `x` can remain available.
* A second lifetime or refcount mutation occurs: no.
* Concrete repeated release/refcount +1: not awarded.
* Paranoid repeated-refcount leverage +1: not awarded.
* FLOOR 5: not applied.
3. Reachability analysis
A remote peer can supply traffic to an already configured VTI or XFRM interface. The complete trigger additionally requires `secpath_reset()` and concurrent deletion of the associated `xfrm_state`. The supplied evidence does not establish that an ordinary remote peer, ordinary local user, or namespace-scoped actor controls both sides of this sequence.
Creation and administration of XFRM state commonly involve network-administration operations, but the exact capability checks and namespace ownership for the complete trigger are not supplied. Therefore, host-admin-equivalent privilege is not positively established, below-host-admin reachability is also not established, and both privilege scope and namespace scope remain unknown.
Prior XFRM or IPsec setup is required. No special hardware, boot option, or firmware dependency is indicated. The race appears timing-sensitive because state deletion must coincide with receive-side processing, and repeatable attacker control over that deletion is not demonstrated.
4. Primitive and severity interpretation
The exact primitive is a post-lifetime read from an active structured `xfrm_state`. After its final secpath-held reference can be released, `xfrm_input()` may read `x->type->proto` or `x->props.family`. These values influence protocol reporting and selection of the address-family transport completion path.
This is broader than fixed stale storage but remains a constrained Class B UAF on the supplied evidence. It is not a concrete repeated-release case because the stale use does not perform another lifetime mutation. The demonstrated practical consequence is kernel crash or DoS. Controlled reclaim, arbitrary read or write, callback control through reclaimed contents, disclosure, and privilege escalation are not established.
`ImportantCandidate=NO` because the available code shows shallow stale-field consumption without meaningful attacker control over replacement or post-free contents. `AutoDowngradeAllowed=YES` because no unresolved repeated refcount mutation, controlled corruption, or security-boundary primitive is demonstrated. Operational severity is borderline Moderate, with manual review appropriate due to the real network-path UAF.
5. One-sentence report phrase
A race between XFRM receive processing and state deletion can leave `xfrm_input()` reading a freed `xfrm_state`, causing a potential kernel crash, but controlled reclaim or exploitation beyond denial of service is not established.
6. Manual review recommendation
MANUAL CHECK RECOMMENDED
The UAF is concrete and occurs in an active packet-processing path, but the supplied evidence supports crash-oriented stale reads rather than an Important-grade exploitation primitive.
7. Call-site confidence
Call-site confidence: high
======================================================================
UPSTREAM PATCH SUMMARY
======================================================================
Patch: xfrm: save input state data before secpath resets [ Upstream
Commit: 35de97850987b3d022ed17df5b2577242e746daf
Upstream URL: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=35de97850987b3d022ed17df5b2577242e746daf
Changed files:
net/xfrm/xfrm_input.c
Diff excerpt:
Not included in this email. See the upstream URL for the full patch.
Full patch:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=35de97850987b3d022ed17df5b2577242e746daf
======================================================================
DETAILED REPORT METHODOLOGY
======================================================================
The original Linux kernel CVE announcement for CVE-2026-98229 can be found here:
https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-98229
The original CVE announcement normally does not include a security-level
estimate. In particular, it may not contain a CVSS assessment, an impact
level, or enough information to determine whether the reported bug is a
practically relevant security issue. One purpose of this parallel CVE list
is to provide that missing technical and prioritization information.
The original goal of the AL-KERNEL project was to prioritize Linux kernel
CVE analysis automatically before manual review. The system can also help
identify non-security issues that may be suitable for automatic closure.
This report was generated by AL-KERNEL, an AI-assisted Linux kernel
vulnerability analysis system developed by Alexander Larkin.
The first analysis stage combines an autonomous classifier with additional
LLM-based analysis. The autonomous classifier runs locally on a CPU and is
based on a backpropagation neural network. Together, these mechanisms
produce a technical vulnerability description, identify likely weakness
types, estimate CVSS severity, and provide input for ActionableScore.
Two CVSS estimates are retained because incomplete kernel vulnerability
information often permits more than one defensible interpretation:
Conservative CVSS vector: AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:H
The Best / paranoid CVSS vector: AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
The Best / paranoid CVSS score: 7.5
The conservative vector represents a lower-impact interpretation.
The Best/paranoid vector intentionally represents a plausible upper-bound
interpretation and should not automatically be treated as demonstrated
real-world impact.
CVSS may also need to be adjusted for a particular Linux deployment,
because actual reachability, privileges, enabled kernel configuration,
hardware, namespaces, exposed device nodes, and other environmental
conditions can differ significantly between systems.
A separate ActionableScore mechanism evaluates practical remediation
urgency. Its analysis may include reachability, attack prerequisites,
subsystem exposure, memory-corruption characteristics, denial-of-service
reliability, and possible confidentiality, integrity, or
privilege-escalation impact.
Conservative ActionableScore: unknown
Paranoid ActionableScore: 4
The final base severity is taken directly from the second tab-separated
field of the AL-KERNEL classification result. ActionableScore does not
replace or independently override that final AL-KERNEL decision, and
if ActionableScore adjusted impact level of ALKERNEL, then you would see
self-readable flags above like INCREASED_TO_HIGH_BASED_ON_ACTIONABLESCOREHIGHEREQTHAN7.
For an AL-KERNEL result of MODERATE, this report uses the following
additional presentation split:
ActionableScore below 5 -> MODERATE REGULAR
ActionableScore 5 or more -> MODERATE 7.0
The distinction between MODERATE REGULAR and MODERATE 7.0 makes it
possible to identify Moderate issues that should receive manual analysis
and fixes before lower-priority MODERATE REGULAR issues. In many cases,
MODERATE REGULAR fixes may wait for a later rebase or routine update.
There is one override in which MODERATE REGULAR becomes MODERATE 7.0
even when the ActionableScore is below 5. When the AL-KERNEL result
contains the KPANIC flag, a MODERATE result is always presented as
MODERATE 7.0. The KPANIC flag selected with few regexps without
usage of AI at all, so it helps to detect cases when Kernel Crash happens
and similar (to filter False-Negative results from the LLM usage).
KPANIC indicates that a reliable kernel crash, kernel panic, or similarly
serious kernel availability impact was identified by the classification
workflow.
AL-KERNEL base severity for this report: MODERATE
KPANIC detected for this report: YES
Published priority for this report (same as in Subject): MODERATE 7.0
These results are intended to support engineering triage. They are
machine-generated estimates, and cases marked for manual review should
be validated by a human security engineer before final disposition.
For more info read docs linked from here: https://kernelcve.org/
(and you can submit you own patch there to generate such a report
for non-existant CVE-id yet).
Note that in many cases this AI tool selects higher severity, than
real is (means you can expect Importants instead of Moderate 7.0 or
Moderates 7.0 instead of regular Moderates). If you see such cases,
please use reply email interface to add additional manual analyses
info to this particular CVE.
And please, please, let me know when you see Lows instead of Importants
or Important instead of Low (because particular for such cases I
need to tune this AI tool to make it better for this one and next similar).
My contact email for such notifications is [email protected] (and both
send reply to CVE record itself too and see "reply" button below for howto reply).
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-10-09 14:41 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-09 14:41 [CVE-2026-98229][MODERATE 7.0] xfrm: save input state data before secpath resets [ Upstream AL-KERNEL
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox