public inbox for [email protected]
 help / color / mirror / Atom feed
This is experimental automated Linux kernel CVE triage research. Results are heuristic and may be incorrect. This site is not an official vendor advisory or severity source.
* [CVE-2026-98734][MODERATE 7.0] Bluetooth: hci_core: Serialize SCO and ISO scheduling with teardown [ Upstream
@ 2026-10-19  3:42 AL-KERNEL
  0 siblings, 0 replies; only message in thread
From: AL-KERNEL @ 2026-10-19  3:42 UTC (permalink / raw)
  To: kernel-cve

CVE: CVE-2026-98734
Priority: MODERATE 7.0
AL-KERNEL base severity: MODERATE
KPANIC flag: YES
Patch: Bluetooth: hci_core: Serialize SCO and ISO scheduling with teardown [ Upstream
Commit: 101825c09ad6b7daa6cf4c9e6b1720b13de15596
Upstream patch: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=101825c09ad6b7daa6cf4c9e6b1720b13de15596
Original CVE announcement: https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-98734
Analysis date: Sun, 18 Oct 2026 23:42:47 -0400
ActionableScore: 5
ActionableScore lower bound: unknown
Actionable bucket: Actionable Moderate / Strong Important candidate requiring manual review
Manual review required: YES

Summary:
A race between Bluetooth SCO or ISO transmission and connection teardown causes a confirmed active hci_conn use-after-free with stale queue processing and a possible post-free field write, requiring manual review for crash impact and unresolved local privilege-escalation potential.

======================================================================
ABOUT THIS REPORT
======================================================================

The original Linux kernel CVE announcement for CVE-2026-98734 is available here:
https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-98734

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-98734	MODERATE	https://www.kernelcve.org/list/?q=CVE-2026-98734 CHECK WITH IMPACT FROM ORIG NN MODERATE | AEGIS IMPACT MODERATE_KPANIC AEGIS_AS=4 LEGACY=MODERATE_KPANIC RESULT=SAME (final reconciliation agrees; DECISION: both MODERATE_KPANIC)	Maybe valid. Check manually. Hints by AL-KERNEL: The best (paranoid) CVSS is 'AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H';*CWE-416;CWE-362;CWE-667;Other CVSS 'AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:H';BEST CVSS score: '7';DESCR 'A race in the Bluetooth HCI transmit path allows an hci_conn object selected under RCU to be used after the RCU read lock has been released. Concurrent hci_abort_conn_sync execution can remove and free the connection before hci_sched_iso or hci_sched_sco finishes accessing its queues and updating conn sent. KASAN confirms a slab use-after-free, and the later conn sent update may write into reused slab memory. For the CVSS the PR:L reflects that a local user or process must create or operate a Bluetooth SCO or ISO connection, while AC:H reflects the need to hit a narrow race window during connection teardown. The issue is not directly reachable through ordinary IP network traffic. An adjacent Bluetooth peer may influence connection state, but the available evidence does not show a reliable peer-only trigger without local activity. Impact is at least a local denial of service via kernel crash and in the worst case may include confidentiality and integrity impact or privilege escalation due to use-after-free memory corruption. YES REQUIRES MANUAL CHECK. Automated impact decision path. The original SimpleNet classifier selected MODERATE_KPANIC. The primary LLM estimated paranoid CVSS 7 and the production ActionableScore returned 5 with recommendation Actionable Moderate / Strong Important candidate requiring manual review. The production rules then evaluated CVSS thresholds and ActionableScore thresholds. Recorded rule transitions were CVSS and initial triage stage MODERATE_KPANIC to IMPORTANT because the CVSS score, vector or bug class threshold rule was applied. KP and FD specialist checks stage IMPORTANT to MODERATE_KPANIC because FD false positive review allowed a downgrade. The legacy KP specialist produced a review artifact and its decision was processed by the applicable KP rules. The legacy FD or DH downgrade specialist produced a review artifact and its decision was processed by the applicable downgrade and preservation rules. Exact triggered rule markers were INCREASED_TO_HIGH_BASED_ON_GUESSCVSS and DECREASED_TO_MODERATE7_BASED_ON_FALSEPOSCHECKOFDH. The independent weaker Aegis shadow evaluated CVSS 4.8 and ActionableScore 4 with primitive class CLASS_B and manual review REQUIRED. Its independently reconciled impact was MODERATE_KPANIC. The shadow agreed with the final production impact and aggregation did not change that impact. The final reported impact is MODERATE_KPANIC.';YES REQUIRES MANUAL CHECK; ,and ActionableScore result is Actionable Moderate / Strong Important candidate requiring manual review (with actual score 5)	MAYBE	REMOTE LOCK DANGER UAF NETWORK HARDWARE LINUS KPANIC PACKET  KPANIC INCREASED_TO_HIGH_BASED_ON_GUESSCVSS DECREASED_TO_MODERATE7_BASED_ON_FALSEPOSCHECKOFDH	-	-	checked

======================================================================
ACTIONABLESCORE ANALYSIS
======================================================================

ActionableScore=5
PrimitiveClass=CLASS_B
RealUAF=YES
HostAdminRequired=UNKNOWN
NamespaceScopedPrivilege=UNKNOWN
ImportantCandidate=YES
ManualReview=REQUIRED
AutoDowngradeAllowed=NO
RequiresHostUID0=UNKNOWN
AuthorizationDecisionBypass=NO
ProtectedResourceImpact=NONE
B4PendingReview=NO
B4PendingConfirmed=NO

1. ActionableScore

* Raw conservative score: 4
* Conservative score: 5
* Raw paranoid score: 5
* Paranoid score: 5
* Applied conservative floor: 4 -> 5 under the real UAF floor because this is an active structured connection used by the TX scheduler, not a fixed stale buffer or cleanup-only dereference.
* Final recommended bucket: **Actionable Moderate / Strong Important candidate requiring manual review**::

2. Signal breakdown

Conservative signals:

* +2 Real UAF. `hci_conn` is released after `synchronize_rcu()`, while the TX worker retains and subsequently dereferences the stale pointer.
* +1 Reliable kernel crash or strong DoS. KASAN confirms a slab use-after-free in the active TX workqueue path, and an uninstrumented kernel may Oops or panic.
* +1 Structured stale-object exploitation leverage. The stale object is used for quota calculation, queue traversal, `skb_dequeue(&conn->data_q)`, timestamp processing, and updating `conn->sent`. This is nontrivial active processing beyond an immediate cleanup fault.
* Total: 4. No negative signal is established.
* Floor 5 applies because the stale active object reaches pointer-bearing queue processing and a field mutation while host-admin-equivalent privilege is not positively established.

Paranoid-only signal:

* +1 Attacker-influenced repeatable lifetime manipulation. A userspace ISO or SCO workflow can create connections, populate transmit queues, and influence connection teardown through repeated connect, traffic, disconnect, or failure cycles. The exact permission boundary remains unresolved, so this is used only in the paranoid arithmetic.
* Raw paranoid total: 5. No floor or cap changes it.

Important non-awarded signals:

* CLASS_A was not awarded because controlled reclaim, attacker-shaped replacement contents, arbitrary target selection, callback control, and arbitrary kernel read or write are not demonstrated.
* No additional confidentiality or integrity points were awarded merely because slab reuse is possible.
* No extra Availability point was awarded because it would duplicate the same UAF crash consequence.
* No repeated release or refcount point applies. The stale operations are queue access and ordinary field mutation, not a second `put`, `release`, or refcount decrement on the same reference.
* No race penalty was applied. The patch establishes concurrent workqueue execution but does not prove that the timing window is one-shot, exceptionally narrow, or externally uncontrollable.
* Remote reachability was not awarded. Ordinary IP packets do not reach this path, and peer-only Bluetooth triggering is not established.
* V33 review mechanics are present. The possible write is `conn->sent++` through a freed active object. The privileged consumer is the kernel HCI TX scheduler. The credible but unresolved boundary is a local Bluetooth ISO or SCO socket user influencing kernel connection and queue state.
* NEW52 B5-R does not apply because no retry-accumulated heap OOB write exists.
* NEW53 B3-PENDING does not apply because no shared or file-backed write is established.
* NEW54 B4-PENDING does not apply because no authorization DENY-to-ALLOW decision is changed.

3. Reachability analysis

The allocation trace reaches `iso_sock_connect()`, establishing a userspace-originated ISO connection path. A process can also supply outgoing data that is placed on the connection queue. The conflicting free occurs asynchronously through `hci_abort_conn_sync()` on `hdev->req_workqueue`, while transmission runs on `hdev->workqueue`.

The supplied evidence does not establish the credentials of the process or every prerequisite for SCO and ISO connection management. Therefore, host-admin access cannot be declared required, but complete below-host-admin reachability also cannot be declared proven. `HostAdminRequired=UNKNOWN` is appropriate.

No evidence shows that the complete operation is available through an attacker-created user or network namespace, so `NamespaceScopedPrivilege=UNKNOWN`. An operational Bluetooth controller, supported SCO or ISO functionality, and an active connection are prerequisites. These are configuration and hardware exposure conditions, but the evidence does not justify a rare-hardware penalty.

A nearby Bluetooth peer may influence connection failure or teardown timing. However, the patch does not establish a reliable adjacent-only trigger without a local process creating or operating the connection. Repeated local connection and traffic cycles may make the race retryable, but precise attacker control over the teardown interleaving remains unresolved.

4. Primitive and severity interpretation

The exact primitive is a slab use-after-free of an active `struct hci_conn`. `hci_low_sent()` selects the connection while holding the RCU read lock but returns it after releasing that protection. Concurrent teardown can remove the connection, finish the grace period, purge its queues, and release it before the scheduler finishes using it.

This is an active structured object, not fixed stale storage. The stale path consumes queue pointers and accounting state during normal TX scheduling. It may dequeue packets and increment `conn->sent` after the object lifetime has ended. That creates an unresolved post-free mutation of slab storage, but the increment is not an arbitrary write and no controlled replacement object is shown.

There is no concrete repeated release or refcount operation. The first lifetime-ending operation releases the connection, but the later stale path does not perform another release on that exact reference. Consequently, the dedicated repeated-release point and repeated-refcount paranoid point are withheld.

The demonstrated consequence is KASAN-detected UAF with realistic kernel crash or DoS. The unresolved consequence is whether slab reuse can turn queue traversal or the `conn->sent` mutation into useful integrity impact or local privilege escalation. That possibility is technically meaningful enough for mandatory review, but it is not proven and does not justify CLASS_A.

`ImportantCandidate=YES` because a strong CLASS_B active-object UAF reaches queue processing and a post-lifetime field mutation across a credible local userspace-to-kernel boundary. `AutoDowngradeAllowed=NO` because automatically treating it as crash-only would discard unresolved active-state corruption leverage. The likely operational classification is actionable Moderate, with Important severity dependent on reclaimability and the actual SCO or ISO socket permission model.

5. One-sentence report phrase

A race between Bluetooth SCO or ISO transmission and connection teardown causes a confirmed active hci_conn use-after-free with stale queue processing and a possible post-free field write, requiring manual review for crash impact and unresolved local privilege-escalation potential.

6. Manual review recommendation

MANUAL CHECK REQUIRED

The review should determine the effective privileges for ISO and SCO socket operations, whether a local process can repeatedly drive both connection teardown and queue activity, and whether the freed `hci_conn` slab can be replaced before queue traversal or `conn->sent` is updated.

7. Call-site confidence

Call-site confidence: high

======================================================================
UPSTREAM PATCH SUMMARY
======================================================================

Patch: Bluetooth: hci_core: Serialize SCO and ISO scheduling with teardown [ Upstream
Commit: 101825c09ad6b7daa6cf4c9e6b1720b13de15596
Upstream URL: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=101825c09ad6b7daa6cf4c9e6b1720b13de15596

Changed files:
  net/bluetooth/hci_core.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=101825c09ad6b7daa6cf4c9e6b1720b13de15596

======================================================================
DETAILED REPORT METHODOLOGY
======================================================================

The original Linux kernel CVE announcement for CVE-2026-98734 can be found here:
https://lore.kernel.org/linux-cve-announce/?q=CVE-2026-98734

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:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:H
  The Best / paranoid CVSS vector: AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
  The Best / paranoid CVSS score: 7

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: 5

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-19  3:42 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-19  3:42 [CVE-2026-98734][MODERATE 7.0] Bluetooth: hci_core: Serialize SCO and ISO scheduling with teardown [ 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