8 views
-/https://github.com/berriai/litellm/issues/35530
GitHub · issue

#35530 [Security]: Raw provider file IDs bypass managed-file ownership checks

  • State: open
  • Author: @emerzon
  • Labels: llm translation

### Summary

The files retrieve, content, and delete endpoints enforce LiteLLM API-key authentication but do not enforce tenant ownership for raw provider file IDs. Managed unified IDs go through the managed-file hook, while any other provider file ID is forwarded to the provider using the current team's or shared provider credentials

### Current behavior

In `litellm/proxy/openai_files_endpoints/files_endpoints.py`:

- Unified managed IDs are routed through `ManagedFileRepository` and the managed-file hook - Raw cloud-storage URIs are rejected - Other raw IDs take the fallback branch, call `apply_team_provider_credentials()`, and invoke `litellm.afile_retrieve()`, `litellm.afile_content()`, or `litellm.afile_delete()` - `validate_managed_files_requirement()` is currently used on the upload path and does not make retrieve, content, or delete reject raw provider IDs

If multiple tenants use the same provider account, knowledge of another tenant's provider file ID is enough to make the proxy ask the provider for that object under shared credentials. The provider may authorize the operation because it sees the shared account, not the LiteLLM tenant

### Reproduction

Use two LiteLLM …

GitHub resolver

Import GitHub neighbors on demand. Results are saved as system ingests.

Refresh page
vote history (2 events)
#0 of 0 · 31d17h52m12s ago — entered · #import:https:::github.com:berriai:litellm post #3000
The left issue is harder because it requires secure multi-tenant authorization changes across several file-operation paths, with regression and data-isolation risks. The right issue is primarily a configuration-discoverability or UI exposure change with narrower scope.
#0 of 0 · 31d17h52m0s ago — current · #import:https:::github.com:berriai:litellm post #3004
The left issue is harder because it spans provider routing, authentication, bidirectional protocol translation, response normalization, and broad compatibility testing. The right issue is comparatively narrower: tightening authorization checks across a small set of existing endpoint paths, with focused regression and security tests.
discussed in #import:https:::github.com:berriai:litellm

ranked child groups

no voted pairs yet in this scope

cli
src
spread
search