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 .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.
CVE-2026-54659
This medium-severity CVE scores 6.9 under a secondary CVSS source (NVD's own analysis pending). EPSS exploit probability: 0.4%, top 70% of all CVEs by exploit prediction. GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).
- Lower severity and no public exploit yet
No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.
- CVSS v3
- 6.9
- EG Score
- 6.9(medium)
- EG Risk
- 46(Track)EG Risk 46/100SSVC: Track
EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).
How it’s computedSeverity69% × 45%Exploitation0% × 40%Automatability100% × 15%Action: Routine — remediate on your standard cadence. - EPSS PROB
- 0%
- EPSS %ILE
- 29%
- KEV
- Not listed
Published
July 28, 2026
Last Modified
July 30, 2026
Advisory Details (4)
Auto-updated Jul 28, 2026Version 43.5.6
Patch available: ddnexus/pagy 43.5.6
https://github.com/ddnexus/pagy/releases/tag/43.5.6commit efcf09690e9f (ddnexus/pagy)
Patch available: ddnexus/pagy 43.5.6 (contains commit efcf09690e9f)
https://github.com/ddnexus/pagy/commit/efcf09690e9fa7d7abdfb987b785a55f87e287dfValidate I18n locale input, coerce dev_tools wand_scale, add input-safety docs
Patch available: ddnexus/pagy 43.5.6 (PR #908 merged 2026-06-08)
https://github.com/ddnexus/pagy/pull/908Pagy I18n locale option is not validated before being used in a file path · Advisory · ddnexus/pagy · GitHub
Affected: 43.5.6 by constraining the locale to a BCP 47 shape before use:
https://github.com/ddnexus/pagy/security/advisories/GHSA-2xmw-f8j8-wfxcVendor Advisories for CVE-2026-54659(1)
These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.
Affected Packages
(1 across 1 ecosystem)
RubyGems(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| pagy | 43.0.0 ... 43.5.5 (43 versions) | 43.5.6 | — |
Weakness Classification(2)
MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.
Data Freshness Timeline
(refreshed 12× in last 7d / 52× in last 30d)
Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.
- 2026-08-24 11:06 UTCEG score recompute
- 2026-08-23 13:13 UTCEG score recompute
- 2026-08-23 00:19 UTCEPSS rescore
- 2026-08-22 15:20 UTCEG score recompute
- 2026-08-21 23:49 UTCEPSS rescore
- 2026-08-21 17:27 UTCEG score recompute
- 2026-08-20 22:55 UTCEPSS rescore
- 2026-08-19 21:42 UTCEG score recompute
- 2026-08-19 17:04 UTCEPSS rescore
- 2026-08-18 23:20 UTCEG score recompute
- 2026-08-18 13:48 UTCEPSS rescore
- 2026-08-18 01:27 UTCEG score recompute
- 2026-08-17 13:47 UTCEPSS rescore
- 2026-08-17 03:35 UTCEG score recompute
- 2026-08-16 14:56 UTCEPSS rescore
- 2026-08-16 05:42 UTCEG score recompute
- 2026-08-16 02:14 UTCEPSS rescore
- 2026-08-15 07:50 UTCEG score recompute
- 2026-08-15 01:30 UTCEPSS rescore
- 2026-08-14 09:57 UTCEG score recompute
- 2026-08-13 22:00 UTCEPSS rescore
- 2026-08-12 14:12 UTCEG score recompute
- 2026-08-12 13:51 UTCEPSS rescore
- 2026-08-11 16:19 UTCEG score recompute
- 2026-08-11 00:00 UTCEPSS rescore
Show 27 moreShow fewer
- 2026-08-09 20:31 UTCEG score recompute
- 2026-08-09 13:46 UTCEPSS rescore
- 2026-08-08 22:39 UTCEG score recompute
- 2026-08-08 16:37 UTCEPSS rescore
- 2026-08-08 00:46 UTCEG score recompute
- 2026-08-07 02:54 UTCEG score recompute
- 2026-08-06 13:47 UTCEPSS rescore
- 2026-08-06 05:02 UTCEG score recompute
- 2026-08-05 19:17 UTCEPSS rescore
- 2026-08-05 07:10 UTCEG score recompute
- 2026-08-04 15:10 UTCEPSS rescore
- 2026-08-04 10:39 UTCEPSS rescore
- 2026-08-03 11:18 UTCEG score recompute
- 2026-08-03 10:36 UTCEPSS rescore
- 2026-08-02 13:23 UTCEG score recompute
- 2026-08-02 02:27 UTCEPSS rescore
- 2026-08-01 15:31 UTCEG score recompute
- 2026-08-01 04:16 UTCEPSS rescore
- 2026-07-30 19:43 UTCEG score recompute
- 2026-07-30 16:28 UTCEPSS rescore
- 2026-07-30 11:30 UTCEG score recompute
- 2026-07-30 01:30 UTCEPSS rescore
- 2026-07-29 13:38 UTCEG score recompute
- 2026-07-29 13:19 UTCEG score recompute
- 2026-07-28 23:23 UTCEG score recompute
- 2026-07-28 22:46 UTCEG score recompute
- 2026-07-28 22:42 UTCMITRE cvelistV5first tracked
Related CVEs(same CWE)
Frequently asked(5)
What is CVE-2026-54659?
When was CVE-2026-54659 disclosed?
Is CVE-2026-54659 actively exploited?
What is the CVSS score of CVE-2026-54659?
How do I remediate CVE-2026-54659?
Dependency Blast Radius
See which npm, PyPI, Go, and Maven packages are affected by CVE-2026-54659
Is Your Infrastructure Affected by CVE-2026-54659?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.