ActiveRecord::Tenanted::Storage::DiskService#path_for has a possible path traversal
Low severity
GitHub Reviewed
Published
Jun 8, 2026
in
basecamp/activerecord-tenanted
•
Updated Jul 29, 2026
Description
Published to the GitHub Advisory Database
Jul 29, 2026
Reviewed
Jul 29, 2026
Last updated
Jul 29, 2026
Summary
Active Record Tenanted's override of Active Storage's
DiskService#path_fordoes not validate that the resolved filesystem path remains within the storage root directory. If a blob key containing path traversal sequences (e.g.../) is used, it could allow reading, writing, or deleting arbitrary files on the server. Blob keys are expected to be trusted strings, but some applications could be passing user input as keys and would be affected.Mitigation
Upgrade to Active Record Tenanted v0.7.0 or later.
As a workaround, do not use untrusted user input as blob keys. Blob keys are expected to be trusted strings.
Credit
This issue was responsibly reported by @tonghuaroot.
References