CVE-2026-54659 Details
Description
Pagy is agnostic pagination in plain Ruby. From 43.0.0 until 43.5.6, Pagy::I18n.locale= in gem/lib/pagy/modules/i18n/i18n.rb stored locale values verbatim and later used them as <locale>.yml path components, allowing untrusted params[:locale] values with absolute paths or ../ sequences to create a file existence and readability oracle for YAML files. This issue is fixed in version 43.5.6.
A vulnerability exists in the Pagy pagination library for Ruby, specifically in versions 43.0.0 prior to 43.5.6. The issue arises in the I18n module, where the locale setter method does not validate input before using it to construct file paths for loading translation dictionaries. This flaw allows untrusted parameters to manipulate the file path, potentially leading to unauthorized access to sensitive YAML files, such as application configuration files. The vulnerability is exploitable in applications that pass raw user input into the Pagy locale setting.
Users can upgrade to Pagy version 43.5.6, which addresses the vulnerability by validating the locale input against a BCP 47 pattern before using it in file path constructions. If an upgrade is not possible, the locale should be validated manually before assignment, ensuring it conforms to expected formats.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
Volerion
Assessed Jul 28, 2026CISA-ADP
Assessed Jul 29, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://github.com/ddnexus/pagy/security/advisories/GHSA-2xmw-f8j8-wfxc | CISA-ADP | AdvisoryExploitRemedyVendor |
| https://github.com/ddnexus/pagy/commit/efcf09690e9fa7d7abdfb987b785a55f87e287df | [email protected] | Source CodeVendor |
| https://github.com/ddnexus/pagy/pull/908 | [email protected] | Issue TrackingVendor |
| https://github.com/ddnexus/pagy/releases/tag/43.5.6 | [email protected] | Release NotesVendor |
| https://github.com/ddnexus/pagy/security/advisories/GHSA-2xmw-f8j8-wfxc | [email protected] | AdvisoryExploitRemedyVendor |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-200 | Exposure of Sensitive Information to an Unauthorized Actor | [email protected] |
| CWE-22 | Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| Pagy | >= 43.0.0, < 43.5.6 (semver) |
CPE
Remediation
| |
Change History
2 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jul 29, 2026 | CVE Modified | CISA-ADP |
| Jul 28, 2026 | New CVE Received | [email protected] |
Volerion