CVE-2026-54659
MEDIUMPagy I18n locale option is not validated before being used in a file path
Title source: cnaDescription
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.
References (4)
Core 4
Core References
X_Refsource_Confirm x_refsource_confirm
https://github.com/ddnexus/pagy/security/advisories/GHSA-2xmw-f8j8-wfxc
X_Refsource_Misc x_refsource_misc
https://github.com/ddnexus/pagy/pull/908
X_Refsource_Misc x_refsource_misc
https://github.com/ddnexus/pagy/commit/efcf09690e9fa7d7abdfb987b785a55f87e287df
X_Refsource_Misc x_refsource_misc
https://github.com/ddnexus/pagy/releases/tag/43.5.6
Scores
CVSS v4
6.9
EPSS
0.0037
EPSS Percentile
29.5%
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CISA SSVC
Vulnrichment
Exploitation
none
Automatable
yes
Technical Impact
partial
Details
CWE
CWE-200
CWE-22
Status
published
Products (2)
ddnexus/pagy
>= 43.0.0, < 43.5.6
rubygems/pagy
43.0.0 - 43.5.6RubyGems
Published
Jul 28, 2026
Tracked Since
Jul 29, 2026