LibreChat/packages/api/src
Dustin Healy 044c134ecf
🤏 fix: Filter Admin Config Reads by Section-Scoped Read Capability (#14472)
listConfigs, getBaseConfig, and getConfig only checked the broad
read:configs capability, so a caller holding nothing but
read:configs:<section> grants got a blanket 403 on all three instead
of a response filtered to the sections they hold. Any deployment
using section-scoped config grants hits this.

Adds hasAnyConfigReadAccess as a cheap pre-flight check covering
broad and section-scoped read and manage grants (manage implies
read), so a zero-access caller still 403s before a DB fetch while a
section-scoped caller gets the response filtered to exactly what
they hold. The same manage-implies-read rule is fixed at its root in
getParentCapabilities so a manage-only caller sees the section they
manage instead of having it stripped after passing the pre-flight.

Resolves every section for a request in one batched
getHeldCapabilities query via getReadableConfigSections instead of
one round trip per section.

Includes AppConfig field-renaming normalization (interfaceConfig,
turnstileConfig, mcpConfig) so the filter checks the canonical
section name rather than the renamed response field, and stops
availableTools from bypassing the filter by gating it on its
filteredTools/includedTools source sections.
2026-07-28 07:38:37 -04:00
..
acl 🔒 fix: Prevent Role Grants on Shared Links (#14137) 2026-07-07 07:04:52 -04:00
actions
admin 🤏 fix: Filter Admin Config Reads by Section-Scoped Read Capability (#14472) 2026-07-28 07:38:37 -04:00
agents 🔗 fix: Resolve MCP Tool-Key Boundary Against Configured Server Names (#14448) 2026-07-27 14:45:38 -04:00
apiKeys
app perf: Reduce Agent Chat Startup Latency (#14423) 2026-07-25 07:58:20 -04:00
artifacts 🧵 fix: Preserve Fenced Markdown Artifacts (#14121) 2026-07-05 12:04:59 -04:00
auth 📉 perf: cache OpenID JWT user documents (#14187) 2026-07-12 07:53:50 -04:00
cache feat: add low-noise Redis observability (#14309) 2026-07-16 10:22:03 -04:00
cdn 🔥 fix: Firebase CDN Initialization Under tsdown CJS Interop (#14046) 2026-07-01 08:20:40 -04:00
cluster feat: add low-noise Redis observability (#14309) 2026-07-16 10:22:03 -04:00
crypto
db
endpoints ✳️ feat: Claude Opus 5 Support (#14422) 2026-07-24 21:45:32 -04:00
favorites 🧰 feat: Redesign Agent Builder with Unified Tools Marketplace, Skills & Orchestration (#13952) 2026-07-05 11:30:12 -04:00
files 🔒 fix: Bound /files/usage TTL Hold Instead of Clearing It (#14470) 2026-07-28 07:37:26 -04:00
flow
html
langfuse 🗝️ feat: Encrypted Langfuse Fanout Config (#14107) 2026-07-14 08:19:55 -04:00
mcp 🍃 fix: Strip $-Prefixed Schema Keywords Before Persisting MCP Tool Params (#14464) 2026-07-27 18:50:34 -04:00
memory
middleware 🤏 fix: Filter Admin Config Reads by Section-Scoped Read Capability (#14472) 2026-07-28 07:38:37 -04:00
modelSpecs 🥷 feat: Add showInMenu Option to Model Specs (#14034) 2026-06-30 19:32:59 -04:00
oauth
projects
prompts 🧵 fix: Preserve Fenced Markdown Artifacts (#14121) 2026-07-05 12:04:59 -04:00
rum
shared-links 🔒 fix: Prevent Role Grants on Shared Links (#14137) 2026-07-07 07:04:52 -04:00
skills 🪆 fix: Serve Nested Skill Files Through a Wildcard Route (#14191) 2026-07-09 16:52:11 -04:00
storage 🪣 refactor: Rate-Limit Token Routes and Cap Remote File Downloads (#13978) 2026-06-26 12:19:03 -04:00
stream 🛂 test: Cover Tool Approval Workflows End to End (#14427) 2026-07-26 21:58:25 -04:00
telemetry perf: Reduce Agent Chat Startup Latency (#14423) 2026-07-25 07:58:20 -04:00
tools 🔗 fix: Resolve MCP Tool-Key Boundary Against Configured Server Names (#14448) 2026-07-27 14:45:38 -04:00
types perf: Reduce Agent Chat Startup Latency (#14423) 2026-07-25 07:58:20 -04:00
utils ✳️ feat: Claude Opus 5 Support (#14422) 2026-07-24 21:45:32 -04:00
web
index.ts 🔗 fix: Resolve MCP Tool-Key Boundary Against Configured Server Names (#14448) 2026-07-27 14:45:38 -04:00
telemetry.ts