mirror of
https://github.com/open-webui/open-webui.git
synced 2026-07-11 10:34:13 -05:00
[PR #24493] [MERGED] fix: gate public sharing of calendars behind sharing.public_calendars permission #131347
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/open-webui/open-webui/pull/24493
Author: @Classic298
Created: 5/9/2026
Status: ✅ Merged
Merged: 5/9/2026
Merged by: @tjbck
Base:
dev← Head:fix/calendar-missing-public-sharing-permission-gate📝 Commits (2)
da8ed31fix: gate public sharing of calendars behind sharing.public_calendars permissiond20e56afix: expose public_calendars + features.calendar through admin permissions surface📊 Changes
5 files changed (+55 additions, -3 deletions)
View changed files
📝
backend/open_webui/config.py(+5 -0)📝
backend/open_webui/routers/calendar.py(+26 -1)📝
backend/open_webui/routers/users.py(+2 -0)📝
src/lib/components/admin/Users/Groups/Permissions.svelte(+18 -0)📝
src/lib/constants/permissions.ts(+4 -2)📄 Description
… permission
The calendar router did not call filter_allowed_access_grants on either the create or update endpoint, while every other shareable resource in the codebase (channels, knowledge, models, notes, prompts, skills, tools) does. A verified non-admin owner could therefore attach
{"principal_type":"user","principal_id":"*","permission":"read"|"write"}to their own calendar in the create or update payload and have it persisted unfiltered. Any other verified user with the (default-on) features.calendar permission could then read or, for write grants, write events on it via the existing /events* endpoints, bypassing the per-user sharing.public_ permission gate the rest of the resource cohort enforces.Three changes:
Contributor License Agreement
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.