← CVE announcements

SECURITY ANNOUNCEMENT

CVE-2026-99185

28 October 2026

For a split transaction, either fw_core_handle_response() or split_transaction_timeout_callback() may manipulate the same transaction entry in the pending transaction list. The return value of timer_delete() is used to determine which function handles the entry. If the transaction is a split transaction and timer_delete() returns zero, the timeout callback may already be running. In this case, the response handler must leave the entry in the list for the timeout callback to remove.

A previous code refactoring broke this behavior, introducing a race condition in which both functions could process the same transaction. This could lead to a use-after-free on the transaction initiator side.

Fix the regression by ensuring that the response handler does not process the transaction when timer_delete() returns zero. The timeout callback is responsible for removing the entry from the pending transaction list.

Introduced

6.19 fa2dc27100768a8a994c377051fa17a47cc66c76

Fixed releases

7.2.13 a8caee0e623ca5d56e829032f9ec073c09e4d224

7.3 7f9f2d6abc40f79e802b4063859eda343043b85c

View source announcement ↗