Path traversal in getkirby kirby
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-22 and the CVSS impact.
Summary
Kirby is an open-source content management system. Prior to 4.9.5 and 5.5.2, depending on the release line, Kirby's media handler in src/Cms/Media.php allowed Kirby\Cms\Media::thumb() to append a path-bearing filename to a validated parent media directory. On nginx, PHP's built-in server, or Apache with AllowEncodedSlashes enabled, a remote attacker could submit encoded slash characters such as %2f in the filename and traverse outside the parent's media directory. Differences between responses for existing and nonexistent thumbnail configurations disclosed whether an arbitrary .json file existed, and a .json file containing a valid filename key could cause the referenced image to be returned and the job file to be deleted. The related file::version path in src/Filesystem/Asset.php also accepted ../ sequences outside the intended index root. This issue is fixed in versions 4.9.5 and 5.5.2.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| getkirby | kirby | before 4.9.5; 5.0.0 to before 5.5.2 | 4.9.5, 5.5.2 | Patch available | CNA |
| — | getkirby/cms (Packagist) | before 4.9.5 | 4.9.5 | Patch available | GHSA-9vx2-j98c-p72w |
| — | getkirby/cms (Packagist) | 5.0.0 to before 5.5.2 | 5.5.2 | Patch available | GHSA-9vx2-j98c-p72w |
- kirby Vendorgetkirby Affected before 4.9.5; 5.0.0 to before 5.5.2 Fixed in 4.9.5, 5.5.2 Patch available CNA
- getkirby/cms (Packagist) Vendor— Affected before 4.9.5 Fixed in 4.9.5 Patch available GHSA-9vx2-j98c-p72w
- getkirby/cms (Packagist) Vendor— Affected 5.0.0 to before 5.5.2 Fixed in 5.5.2 Patch available GHSA-9vx2-j98c-p72w
Remediation
- Fix · CNA kirby (getkirby) Fixed in 4.9.5, 5.5.2
- Fix · GHSA-9vx2-j98c-p72w getkirby/cms (Packagist) Fixed in 4.9.5 Advisory →
- Fix · GHSA-9vx2-j98c-p72w getkirby/cms (Packagist) Fixed in 5.5.2 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-75594
- 2026-10-03 Alias added: GHSA-9vx2-j98c-p72w
References
Other 8
- https://github.com/getkirby/kirby/security/advisories/GHSA-9vx2-j98c-p72w
- https://github.com/getkirby/kirby/commit/22fbaedb7e6dd61f5def10829ba7bd7e73e0dcc9
- https://github.com/getkirby/kirby/commit/a40808f5c2ee5d42bb597fb6ffbe0de0ce8e4d20
- https://github.com/getkirby/kirby/commit/cd7abb68d298f3443eafd43fa2d0c7ad0f933d0e
- https://github.com/getkirby/kirby/commit/e0dca5f709adc21b36f5549df2c0619bc59da56c
- https://github.com/getkirby/kirby/releases/tag/4.9.5
- https://github.com/getkirby/kirby/releases/tag/5.5.2
- https://github.com/getkirby/kirby
More getkirby vulnerabilities
- TI-2024-17440 An arbitrary file upload vulnerability in the Profile Image module of Kirby CMS v4.1.0… CVSS 3.1HIGH 8.8
- TI-2024-17439 An HTML injection vulnerability exists in the Edit Content Layout module of Kirby CMS… CVSS 3.1HIGH 7.1
- TI-2026-23396 Kirby CMS through 5.1.4 allows an authenticated user with 'Editor' permissions to cause a… CVSS 3.1MEDIUM 6.5
- TI-2024-17441 A stored cross-site scripting (XSS) vulnerability in the Edit Content Layout module of… CVSS 3.1MEDIUM 6.1
- TI-2018-10413 An issue was discovered in Kirby 2.5.12. CVSS 3.1MEDIUM 5.4
- TI-2024-17438 Kirby CMS v4.1.0 was discovered to contain a reflected self-XSS vulnerability via the URL parameter. CVSS 3.1MEDIUM 4.7
Sources
- CVE-2026-75594 · CVE Program
- CVE-2026-75594 · NVD
- FIRST EPSS
- GHSA-9vx2-j98c-p72w · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences