Skip to content

Fix UAF in command-socket --notify#3988

Merged
awick merged 3 commits into
mainfrom
notify-race-fix
May 18, 2026
Merged

Fix UAF in command-socket --notify#3988
awick merged 3 commits into
mainfrom
notify-race-fix

Conversation

@awick

@awick awick commented May 18, 2026

Copy link
Copy Markdown
Contributor
  • Defer file-done notification to packet thread's FILE_DONE sentinel so the notification fires when packets have actually drained, not when the file has just been queued.
  • Stop eagerly dereferencing the scheme actions slot while packets (and their sessions referencing actions->ops) are still in flight.
  • Track load_thread recursion depth so the actions-held client ref is released exactly once at the outermost call, allowing the command-socket client to close after exit.

License

I confirm that this contribution is made under an Apache 2.0 license and that I have the authority necessary to make this contribution on behalf of its copyright owner.

awick and others added 3 commits May 18, 2026 14:59
- Defer file-done notification to packet thread's FILE_DONE sentinel
  so the notification fires when packets have actually drained, not
  when the file has just been queued.
- Stop eagerly dereferencing the scheme actions slot while packets
  (and their sessions referencing actions->ops) are still in flight.
- Track load_thread recursion depth so the actions-held client ref
  is released exactly once at the outermost call, allowing the
  command-socket client to close after exit.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Older GCC doesn't see through BSB_LIMPORT writes; initialize major,
minor, build to 0 to silence -Wmaybe-uninitialized.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use pointer-swap with atomic store/load so packet threads never read a
bpf_program that the scheme thread is mutating in place. Add
ARKIME_THREAD_ATOMIC_STORE/LOAD helper macros.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@awick awick merged commit 937f91f into main May 18, 2026
14 checks passed
@awick awick deleted the notify-race-fix branch May 18, 2026 22:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant