GitHub Advisoryadvisory · RubyGems

GHSA-pmwx-rm49-xv39 ActiveRecord::Tenanted::Storage::DiskService#path_for has a possible path traversal

LOW Published 2026-07-29 Modified 2026-07-29 Official page ↗
Ecosystem
RubyGems
Packages
activerecord-tenanted
Severity
Low
CVSS vector
CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N
Weaknesses
CWE-22
Reviewed
2026-07-29

Affected packages

• RubyGems activerecord-tenanted: < 0.7.0 → fixed in 0.7.0

Description

Summary Active Record Tenanted's override of Active Storage's `DiskService#path_for` does 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.

Related

Weakness · CWE (1)

  • CWE-22 Improper Limitation of a Pathname to a Restricted Directory weakness

References