Request an audit

// Security advisory · Published · GitHub Advisory Database

GHSA-8wh8-3v68-whwjCredited

AnythingLLM: owner's private Memories disclosed to anonymous embed-widget visitors.

The embed handler passed a visitor-supplied username where a user object was expected, so the memory lookup collapsed to the single-user scope and the instance owner's private Memories were appended to the system prompt on an unauthenticated route.

Published
Product
AnythingLLM
Affected
>= 1.13.0, <= 1.16.1
Fixed in
commit 08ff2c7, master, not in a release as of 2026-09-21
Research area
Credit
Eva Crystal (0xiviel), XSource Security
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

Summary

AnythingLLM’s public embed widget lets anonymous visitors chat with a workspace. The embed handler passed the visitor-supplied username string into the slot where the prompt builder expects a user object. user?.id collapsed to null, and null is exactly the storage scope of the instance owner’s Memories in single-user mode. The owner’s private Memories were appended to the system prompt of every anonymous embed conversation.

Impact

Disclosure of the owner’s private Memories to unauthenticated visitors on any instance running single-user mode with Personalization on and an embed widget deployed. A type confusion rather than a missing check: the read path and both production write paths land on the same null scope through the same normaliser, so there is no sentinel that separates the two. Rated Moderate, CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N (5.3), CWE-668.

Affected and fixed

  • Affected: AnythingLLM 1.13.0 to 1.16.1
  • Fixed: commit 08ff2c7, releases after 1.16.1

Timeline

  • 14 Sep 2026: reported as a private GitHub security advisory with a standalone proof of concept
  • 15 Sep 2026: accepted and published by the maintainer as GHSA-8wh8-3v68-whwj, CVE requested

Credit

Reporter credit: 0xiviel / Eva Crystal (XSource Security).

More disclosures

All disclosures →