litellm/litellm
Yuneng Jiang 6499fa76de
[Fix] RBAC: Drop management_routes Write Fallback for Admin Viewer
Greptile P1: the unsafe-method branch of `_check_proxy_admin_viewer_access`
ended with a blanket `if route in management_routes: return`. That set is a
mix of reads (info/list — handled via the safe-method GET branch above) and
writes. The fallback let Admin Viewer POST to write endpoints not enumerated
in `_ADMIN_VIEWER_BLOCKED_WRITE_ROUTES`, including:
  - /team/block, /team/unblock, /team/permissions_update
  - /jwt/key/mapping/{new,update,delete}
  - /key/bulk_update
  - /key/{key_id}/reset_spend

Remove the fallback. The two remaining allow sets (admin_viewer_routes and
global_spend_tracking_routes) are both read-only, so removal does not affect
the legitimate POST-as-read cases (e.g. /spend/calculate, which is in
spend_tracking_routes ⊂ admin_viewer_routes).

Tests:
  - 8 new parametrized cases pinning each previously-leaking management write
    endpoint to 403 on POST for PROXY_ADMIN_VIEW_ONLY.
2026-05-01 16:15:21 -07:00
..
a2a_protocol feat(guardrails): LLM-as-a-Judge guardrail (#26360) 2026-04-24 17:15:32 -07:00
anthropic_interface
assistants
batch_completion
batches fix(proxy/batches): forward model to retrieve_batch for bedrock 2026-04-29 22:48:03 +02:00
caching Merge pull request #26202 from BerriAI/litellm_token_verification_query_opt 2026-05-01 10:10:07 -07:00
completion_extras Revert "Merge pull request #24417 from Chesars/refactor/shared-format-mapping" 2026-04-25 15:03:24 -03:00
compression
containers
endpoints/speech/speech_to_completion_bridge
evals
experimental_mcp_client
files
fine_tuning
google_genai feat(proxy): LiteLLM headers on Google native generateContent routes (#25500) 2026-04-29 12:34:14 -07:00
images Feat(dashscope): add image generation support for qwen-image-2.0 and qwen-image-2.0-pro (#25672) 2026-04-22 20:03:46 -07:00
integrations fix: block path traversal SSRF in BitBucket, Arize Phoenix, and AssemblyAI clients (#26943) 2026-05-01 11:45:12 -07:00
interactions
litellm_core_utils Merge pull request #26838 from BerriAI/litellm_vcr-cassette-llm-tests-af37 2026-05-01 15:16:52 -07:00
llms Merge pull request #26077 from BerriAI/litellm_vertex_cached_content_mutual_exclusion 2026-05-01 15:52:47 -07:00
ocr
passthrough fix(passthrough): log when streaming spend-tracking flush fails to schedule 2026-04-30 02:39:29 +00:00
proxy [Fix] RBAC: Drop management_routes Write Fallback for Admin Viewer 2026-05-01 16:15:21 -07:00
proxy_auth
rag style: black formatting 2026-04-25 14:47:54 -07:00
realtime_api
rerank_api Fix review 2026-04-30 09:10:24 +05:30
responses Fix lint and ruff 2026-05-01 12:14:53 +05:30
router_strategy add test(tag-routing): prevent header regex bypass for strict plain tags. 2026-04-29 20:14:30 +00:00
router_utils Fix add_model_file_id_mappings when router returns single deployment dict 2026-04-30 18:04:47 -07:00
search
secret_managers
skills
types Merge pull request #24340 from BerriAI/litellm_staging_03_21_2026 2026-05-01 11:57:44 -07:00
vector_store_files
vector_stores
videos
__init__.py Merge pull request #26303 from BerriAI/litellm_internal_staging 2026-04-23 08:30:54 +05:30
_internal_context.py
_lazy_imports_registry.py
_lazy_imports.py
_logging.py
_redis_credential_provider.py fix(redis): cache GCP IAM token to prevent async event loop blocking (#26441) 2026-04-25 23:13:39 -07:00
_redis.py
_service_logger.py
_uuid.py
_version.py
anthropic_beta_headers_config.json
anthropic_beta_headers_manager.py
blog_posts.json
budget_manager.py
constants.py Merge pull request #26835 from stuxf/codex/cli-sso-flow-binding 2026-04-30 17:10:27 -07:00
cost_calculator.py
cost.json
exceptions.py fix(proxy): invoke post-call guardrails on pass-through endpoint responses (#20270) (#26262) 2026-04-27 08:58:22 +05:30
main.py fix(embeddings): allow omitting encoding_format via env sentinel none 2026-05-01 23:03:13 +05:30
model_prices_and_context_window_backup.json correct model map 2026-05-01 18:07:33 +05:30
mypy.ini
policy_templates_backup.json
provider_endpoints_support_backup.json
py.typed
router.py Merge pull request #26984 from BerriAI/litellm_internal_staging 2026-05-01 19:03:59 +05:30
scheduler.py
setup_wizard.py
timeout.py
utils.py Add gpt-image-2 support (#26644) (#26705) 2026-04-28 20:10:42 -07:00