CVE-2026-107844: Contao path traversal in images controller

CVE-2026-107844 · Severity: medium · CVSS 5.3 · Published 2026-10-09

Contao is a CMS that manages website content and images. An unauthenticated attacker can bypass directory restrictions in the image handler to read files stored outside the web root, such as configuration files or other sensitive images, by crafting requests with specially encoded directory traversal sequences. The vulnerability is limited to files with image extensions and does not allow reading files in protected member directories.

Technologies: Contao Core Bundle, contao/core-bundle (Packagist). Vendors: Contao, Packagist.

Quick answers

Is CVE-2026-107844 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-107844 being exploited in the wild.
How severe is CVE-2026-107844?
Medium severity, with a CVSS score of 5.3, published 9 October 2026.
Which products and versions are affected?
Contao Core Bundle 4.1.0 through 5.3.49; 5.4.0-RC1 through 5.7.11; contao/core-bundle (Packagist) ECOSYSTEM:introduced=4.1.0,fixed=5.3.50.
Is there a fix for CVE-2026-107844?
Yes. contao/core-bundle (Packagist): upgrade to 5.3.50 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-107844 attacked?
It is attacked over the network, in a web application.
Am I affected by CVE-2026-107844?
Check whether you run Contao Core Bundle or contao/core-bundle (Packagist) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • contao/core-bundle (Packagist): upgrade to 5.3.50 or later
    composer require contao/core-bundle:^5.3.50

Technical details

The ImagesController fails to validate that the user-controlled {path} parameter stays within the intended image directory after `Path::join()` canonicalizes dot segments, allowing percent-encoded traversal sequences to escape the boundary. An unauthenticated GET request with crafted path segments returns the file via `BinaryFileResponse`. The attack is constrained by `contao.image.valid_extensions` (jpg, jpeg, gif, png, tif, tiff, bmp, svg, svgz, webp) and fails for paths below the upload directory.

Affected products

  • Contao core-bundle 4.1.0 through 5.3.49; 5.4.0-RC1 through 5.7.11

Identifiers

  • CVE-2026-107844
  • GHSA-mrvp-7wmx-5m4h

Timeline

  • 2026-10-09: disclosed
  • 2026-10-09: advisory

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.