Skip to content

Security: CVE-2026-107183 cherry-pick and /rerank top_n fix for the develop pin - #58

Merged
lalalune merged 3 commits into
eliza/develop-pin-ea8b3f2from
claude/alpha-cve-2026-107183
Oct 13, 2026
Merged

lalalune merged 3 commits into
eliza/develop-pin-ea8b3f2from
claude/alpha-cve-2026-107183

Conversation

@lalalune

Copy link
Copy Markdown
Member

Security fixes for the commit that elizaOS develop pins (ea8b3f2, tag checkpoint/metal-library-capabilities-20260924). That commit is on no branch, so this PR targets the new branch eliza/develop-pin-ea8b3f2, which points at it. After merge, elizaOS/eliza moves the plugins/plugin-local-inference/native/llama.cpp gitlink to the merge commit.

Changes:

  1. CVE-2026-107183 (use-after-free in the chat PEG parser). Cherry-pick of ggml-org dbe4c3e (#29942, in b11393): clear current_tool when pending_tool_call is reset. The fork file differs only in line numbers.
  2. CVE-2026-52132 (llama-server --reranking: negative top_n causes std::bad_alloc and HTTP 500). ggml-org master is still affected. The fork now returns HTTP 400 for a negative top_n, like other invalid rerank requests. One test is added to tools/server/tests/unit/test_rerank.py.
  3. docs/eliza-security-advisories.md: the advisory check to run before the elizaOS gitlink moves, and the status of each known advisory.

Not changed: the RPC advisories (GHSA-j8rj-fmpv-wcxw / CVE-2026-34159, CVE-2026-86317) have no upstream fix. GGML_RPC stays off (CMake default; no Eliza build script turns it on).

Reachability in Alpha Phone today: none of these paths. The Android app uses libelizainference for embeddings, no llama-server is staged, and RPC is not built. The fixes are needed before llama.cpp speech and chat paths replace ONNX.

Testing (macOS arm64, CPU build, -DGGML_METAL=OFF -DGGML_RPC=OFF -DLLAMA_BUILD_TESTS=ON):

  • cmake --build build --target llama-server test-chat-peg-parser: builds with no errors.
  • build/bin/test-chat-peg-parser: 32 tests, 198 assertions, 0 failures.
  • git merge-base --is-ancestor cannot be used for dbe4c3e because this is a cherry-pick; the commit message has (cherry picked from commit dbe4c3ed...).
  • Not run: tools/server/tests (needs a reranker model download) and an ASAN reproduction of the use-after-free.

AI disclosure: Claude Code wrote this change for the elizaOS maintainers, from the Alpha Phone security review.

🤖 Generated with Claude Code

Shaw and others added 3 commits October 13, 2026 16:10
…(#29942)

A TOOL_ID node that arrives after TOOL_CLOSE wrote through `current_tool`,
which still pointed into the just-destroyed `pending_tool_call` optional
(use-after-free, then a second free of the id buffer). Clear the pointer on
reset.

Fixes CVE-2026-107183 in the elizaOS fork.

(cherry picked from commit dbe4c3ed42343f0a7ba0fd7e808ffeaca404d29f)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A negative "top_n" passed std::min unchanged, and format_response_rerank
then resized the result vector to a huge size: std::bad_alloc and HTTP 500.
Return HTTP 400 for a negative top_n, as for other invalid rerank requests.
No ggml-org fix exists yet (the CVE lists master as affected).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
List the ggml-org and OSV advisories that affect this fork, the fix commit
for each one, and the check to run before the elizaOS gitlink moves.
Keep GGML_RPC off: the RPC server advisories have no upstream fix.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added documentation Improvements or additions to documentation server labels Oct 13, 2026
@lalalune

Copy link
Copy Markdown
Member Author

CI note before merge: every failing job also fails on the base branch eliza/develop-pin-ea8b3f2 (push run 38467813758 and Server run 38467813955), or fails only in test-download-model / Hugging Face model downloads (HTTP 429 "server under pressure" and 404). ggml-ci-x64-cpu-low-perf and ubuntu-cpu (arm64) passed on the base and failed here only in test-download-model. ubuntu-24-webgpu-wasm fails on both with wasm-ld: duplicate symbol: emscripten_futex_wait. No job fails in code that this PR changes. Local: llama-server and test-chat-peg-parser build; test-chat-peg-parser 32 tests, 0 failures.

@lalalune
lalalune merged commit 7efee00 into eliza/develop-pin-ea8b3f2 Oct 13, 2026
27 of 44 checks passed
lalalune added a commit to elizaOS/eliza that referenced this pull request Oct 13, 2026
…-107183 fixed (#36126)

elizaOS/llama.cpp#58 adds two security fixes on top of the current pin
ea8b3f2: the ggml-org dbe4c3e cherry-pick for CVE-2026-107183 (use-after-free
in the chat PEG parser) and a 400 response for a negative /rerank top_n
(CVE-2026-52132). It also adds the fork's advisory tracking document.
GGML_RPC stays off.

Co-authored-by: Shaw <thefutureisaweirdplace@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation server

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant