Description
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 used incomplete filesystem containment checks in src/Filesystem/Dir.php and src/Filesystem/F.php through Kirby\Filesystem\Dir::realpath() and Kirby\Filesystem\F::realpath(). The checks accepted a sibling directory whose path shared the intended root's string prefix, such as /var/www/site2 next to /var/www/site, because they did not require an exact match or a DIRECTORY_SEPARATOR boundary. A remote attacker could use Kirby\Cms\Media::thumb() to create and access thumbnails from image files in a PHP-readable sibling directory when that directory contained a valid .json thumbnail job file, potentially exposing staging sites, backups, or other internal sites and deleting the job file during processing. This issue is fixed in versions 4.9.5 and 5.5.2.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
getkirby kirby
< 4.9.5affected>= 5.0.0, < 5.5.2affected
References
- https://github.com/getkirby/kirby/security/advisories/GHSA-6j4c-mgqr-qv76 ↗
- https://github.com/getkirby/kirby/commit/2b6fab950bc89d505ea89576bf71c8de614cc3b2 ↗
- 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 ↗