CVE-2024-32871
Pimcore Vulnerable to Flooding Server with Thumbnail files
Pimcore is an Open Source Data & Experience Management Platform. The Pimcore thumbnail generation can be used to flood the server with large files. By changing the file extension or scaling factor of the requested thumbnail, attackers can create files that are much larger in file size than the original. This vulnerability is fixed in 11.2.4.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
7.5
Pimcore Vulnerable to Flooding Server with Thumbnail files
Pimcore is an Open Source Data & Experience Management Platform. The Pimcore thumbnail generation can be used to flood the server with large files. By changing the file extension or scaling factor of the requested thumbnail, attackers can create files that are much larger in file size than the original. This vulnerability is fixed in 11.2.4.
- Record
CVE-2024-32871- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-770
- Updated
- 2026-11-02
EUVDEUVD-2024-1879
7.5
Pimcore is an Open Source Data & Experience Management Platform. The Pimcore thumbnail generation can be used to flood the server with large files. By changing the file extension or scaling factor of the requested thumbnail, attackers can create files that are much larger in file size than the original. This vulnerability is fixed in 11.2.4.
- Record
EUVD-2024-1879- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-277c-5vvj-9pwx
7.5
Flooding Server with Thumbnail files
Details
1. All Imagick supported Fileformats are served without filtering
The Thumbnail endpoint does not check against any filters what file formats should be served. We can transcode the image in all formats imagemagick supports. With that we can create Files that are much larger in filesize than the original. For example we can create a .txt file for all thumbnails, and we get the text representation of the image.
We can demonstrate that with the pimcore demo:
This Thumbnail is found on the Frontend: https://demo.pimcore.fun/Sample%20Content/Background%20Images/317/image-thumb__317__standardTeaser/11.8c64bd89.avif (12kb Filesize)
We can generate a text representation by simply changing the file extension: https://demo.pimcore.fun/Sample%20Content/Background%20Images/317/image-thumb__317__standardTeaser/11.8c64bd89.txt (4.59mb Filesize)
Other (large) fileformats we tested: ftxt, dip, bmp, bmp3, bmp2, farbfeld, cmyk, cmyka, ycbcr, ycbcra and many more (just check imagemagick supported formats)
With that we can fill the available space of a server really easy.
With formats like yaml or json we can also expose exif data of the original image file - could be a concern with gps data in user uploaded images.
TLDR
- we can generate all imagemagick supported formats with all thumbnail configs
- all configs were the format is set to "auto (Web-optimized)" are vulnerable
- private (exif) data can be exposed.
- We can flood the the server with a bunch of files that are a multiple magnitudes of the original thumbnail size (see txt example), for all thumbnail configs, with every image that we find (scriptable)
Proposed Solution
Implement a list of allowed formats that the developer can modify if needed, if a file is requested in another format than listed, pimcore should return either "/bundles/pimcoreadmin/img/filetype-not-supported.svg" or a 404.
pimcore:
thumbnails:
allowed_formats: ['jpg', 'png', 'avif', 'webp', 'gif']
For non-maintained Pimcore versions (<11), the webserver config could be used to only serve files that should be allowed.
2. Non Web optimized file formats (ORIGINAL, JPG, PNG) creates duplicated files on Server
With Thumbnail config that are configured to serve non web optimized file formats (such as ORIGINAL, jpg, png, print, etc) we can create files with arbitrary file formats that are saved to disk.
For example, the thumbnail configuration "print_backgroundimage" (in the pimcore demo) can be used to create files such as:
https://demo.pimcore.fun/Car%20Images/jaguar/3/image-thumb__3__print_backgroundimage/auto-3095119.aaa https://demo.pimcore.fun/Car%20Images/jaguar/3/image-thumb__3__print_backgroundimage/auto-3095119.aab https://demo.pimcore.fun/Car%20Images/jaguar/3/image-thumb__3__print_backgroundimage/auto-3095119.aac
Each request creates a new copy of the original (jpg) thumbnail file. The server can be flooded with a bunch of files.
Code for this mechanism is here: https://github.com/pimcore/pimcore/blob/11.x/models/Asset/Service.php#L621-L623
Proposed Solution
Use same filtered list from "All Imagick supported Fileformats are served without filtering" and do not copy the arbitrary file to disk, just serve the original image file under the "new" name.
3. Scaling Factor is not limited and can be modified via url
We can scale each thumbnail to an arbitrary factor with @<float>x added to the request url.
For example:
https://demo.pimcore.fun/Sample%20Content/Background%20Images/317/image-thumb__317__standardTeaser/[email protected] https://demo.pimcore.fun/Sample%20Content/Background%20Images/317/image-thumb__317__standardTeaser/[email protected] https://demo.pimcore.fun/Sample%20Content/Background%20Images/317/image-thumb__317__standardTeaser/[email protected] https://demo.pimcore.fun/Sample%20Content/Background%20Images/317/image-thumb__317__standardTeaser/[email protected]
If the thumbnail config allows "forced"…
- Record
GHSA-277c-5vvj-9pwx- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-770
- Updated
- 2026-11-02
NVD
7.5
Pimcore is an Open Source Data & Experience Management Platform. The Pimcore thumbnail generation can be used to flood the server with large files. By changing the file extension or scaling factor of the requested thumbnail, attackers can create files that are much larger in file size than the original. This vulnerability is fixed in 11.2.4.
- Record
CVE-2024-32871- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-770
- Updated
- 2026-11-02
OSV
7.5
Pimcore Vulnerable to Flooding Server with Thumbnail files
Pimcore is an Open Source Data & Experience Management Platform. The Pimcore thumbnail generation can be used to flood the server with large files. By changing the file extension or scaling factor of the requested thumbnail, attackers can create files that are much larger in file size than the original. This vulnerability is fixed in 11.2.4.
- Record
CVE-2024-32871- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-770
- Updated
- 2026-11-02
OSVGHSA-277c-5vvj-9pwx
7.5
Flooding Server with Thumbnail files
Details
1. All Imagick supported Fileformats are served without filtering
The Thumbnail endpoint does not check against any filters what file formats should be served. We can transcode the image in all formats imagemagick supports. With that we can create Files that are much larger in filesize than the original. For example we can create a .txt file for all thumbnails, and we get the text representation of the image.
We can demonstrate that with the pimcore demo:
This Thumbnail is found on the Frontend: https://demo.pimcore.fun/Sample%20Content/Background%20Images/317/image-thumb__317__standardTeaser/11.8c64bd89.avif (12kb Filesize)
We can generate a text representation by simply changing the file extension: https://demo.pimcore.fun/Sample%20Content/Background%20Images/317/image-thumb__317__standardTeaser/11.8c64bd89.txt (4.59mb Filesize)
Other (large) fileformats we tested: ftxt, dip, bmp, bmp3, bmp2, farbfeld, cmyk, cmyka, ycbcr, ycbcra and many more (just check imagemagick supported formats)
With that we can fill the available space of a server really easy.
With formats like yaml or json we can also expose exif data of the original image file - could be a concern with gps data in user uploaded images.
TLDR
- we can generate all imagemagick supported formats with all thumbnail configs
- all configs were the format is set to "auto (Web-optimized)" are vulnerable
- private (exif) data can be exposed.
- We can flood the the server with a bunch of files that are a multiple magnitudes of the original thumbnail size (see txt example), for all thumbnail configs, with every image that we find (scriptable)
Proposed Solution
Implement a list of allowed formats that the developer can modify if needed, if a file is requested in another format than listed, pimcore should return either "/bundles/pimcoreadmin/img/filetype-not-supported.svg" or a 404.
pimcore:
thumbnails:
allowed_formats: ['jpg', 'png', 'avif', 'webp', 'gif']
For non-maintained Pimcore versions (<11), the webserver config could be used to only serve files that should be allowed.
2. Non Web optimized file formats (ORIGINAL, JPG, PNG) creates duplicated files on Server
With Thumbnail config that are configured to serve non web optimized file formats (such as ORIGINAL, jpg, png, print, etc) we can create files with arbitrary file formats that are saved to disk.
For example, the thumbnail configuration "print_backgroundimage" (in the pimcore demo) can be used to create files such as:
https://demo.pimcore.fun/Car%20Images/jaguar/3/image-thumb__3__print_backgroundimage/auto-3095119.aaa https://demo.pimcore.fun/Car%20Images/jaguar/3/image-thumb__3__print_backgroundimage/auto-3095119.aab https://demo.pimcore.fun/Car%20Images/jaguar/3/image-thumb__3__print_backgroundimage/auto-3095119.aac
Each request creates a new copy of the original (jpg) thumbnail file. The server can be flooded with a bunch of files.
Code for this mechanism is here: https://github.com/pimcore/pimcore/blob/11.x/models/Asset/Service.php#L621-L623
Proposed Solution
Use same filtered list from "All Imagick supported Fileformats are served without filtering" and do not copy the arbitrary file to disk, just serve the original image file under the "new" name.
3. Scaling Factor is not limited and can be modified via url
We can scale each thumbnail to an arbitrary factor with @<float>x added to the request url.
For example:
https://demo.pimcore.fun/Sample%20Content/Background%20Images/317/image-thumb__317__standardTeaser/[email protected] https://demo.pimcore.fun/Sample%20Content/Background%20Images/317/image-thumb__317__standardTeaser/[email protected] https://demo.pimcore.fun/Sample%20Content/Background%20Images/317/image-thumb__317__standardTeaser/[email protected] https://demo.pimcore.fun/Sample%20Content/Background%20Images/317/image-thumb__317__standardTeaser/[email protected]
If the thumbnail config allows "forced"…
- Record
GHSA-277c-5vvj-9pwx- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-770
- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
pimcore/pimcorePackagist |
11.0.0 up to 11.2.4 | 11.2.4 |
pimcore/pimcorePackagist |
11.0.0 up to 11.2.4, plus listed versions v11.0.0v11.0.1v11.0.10v11.0.11v11.0.12 Show 20 moreShow lessv11.0.2v11.0.3v11.0.4v11.0.5v11.0.6v11.0.7v11.0.8v11.0.9v11.1.0v11.1.0-RC1v11.1.1v11.1.2v11.1.3v11.1.4v11.1.5v11.1.6v11.2.0v11.2.1v11.2.2v11.2.3 |
11.2.4 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases, published | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2024-32871 is a high vulnerability (CVSS 7.5) in Pimcore, published June 4, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.76%, the 55th percentile. Fixed in pimcore/pimcore 11.2.4.
References
github.com/pimcore/pimcore/security/advisories/GHSA-277c-5vvj-9pwx
github.com/pimcore/pimcore/commit/38af70b3130f16fc27f2aea34e2943d7bdaaba06
github.com/pimcore/pimcore/commit/a6821a16ea38086bf6012e682e1743488244bd85
nvd.nist.gov/vuln/detail/CVE-2024-32871
github.com/advisories/GHSA-277c-5vvj-9pwx
github.com/CVEProject/cvelistV5/tree/main/cves/2024/32xxx/CVE-2024-32871.json
github.com/pimcore/pimcore
Left out here: the rest of 2 source descriptions. The JSON record has them.