CVE-2025-47939: Typo3/cms core TYPO3 Allows Unrestricted File Upload Vulnerability
MODERATECVE-2025-47939 is a MODERATE (CVSS 5.4) typo3 allows unrestricted file upload vulnerability (CWE-351: Insufficient Type Distinction) affecting Typo3/cms core libraries in the Packagist ecosystem. The issue involves typo3 allows unrestricted file upload in file abstraction layer. Remediation is available by upgrading affected packages to version 9.5.51, 10.4.50, 11.5.44, 12.4.31, 13.4.12.
CVE-2025-47939 at a Glance
Security Impact
CVSS: 5.4
The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L).
How to Fix CVE-2025-47939
To remediate this vulnerability, upgrade all affected Typo3/cms core dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
Upgrade typo3/cms-core to 9.5.51
Upgrade typo3/cms-core to 10.4.50
Upgrade typo3/cms-core to 11.5.44
Upgrade typo3/cms-core to 12.4.31
Upgrade typo3/cms-core to 13.4.12
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
inspect dependencies for typo3/cms-core
How to Check if You Are Affected
To determine whether your application is affected by CVE-2025-47939, inspect your project dependencies for Typo3/cms core:
inspect dependencies for typo3/cms-core
Analyze the terminal output to locate any version of Typo3/cms core in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 9.5.51), your application is affected.
Note: Verify declared build manifests and deployed runtime container environments.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-351: Insufficient Type Distinction, where the product does not properly distinguish between different types of elements in a way that leads to insecure behavior. In Typo3/cms core, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2025-47939 Affected Typo3/cms core Versions
5 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
typo3/cms-core
|
Packagist |
≥ 9.0.0
< 9.5.51
|
9.5.51
|
|
typo3/cms-core
|
Packagist |
≥ 10.0.0
< 10.4.50
|
10.4.50
|
|
typo3/cms-core
|
Packagist |
≥ 11.0.0
< 11.5.44
|
11.5.44
|
|
typo3/cms-core
|
Packagist |
≥ 12.0.0
< 12.4.31
|
12.4.31
|
|
typo3/cms-core
|
Packagist |
≥ 13.0.0
< 13.4.12
|
13.4.12
|
References
Frequently Asked Questions
What is CVE-2025-47939?
Which Typo3/cms core versions are affected?
What version fixes CVE-2025-47939?
Is typo3/cms-core affected?
What is the CVSS score of CVE-2025-47939?
What CWE is associated with CVE-2025-47939?
How can I check Packagist dependencies for CVE-2025-47939?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-9hq9-cr36-4wpj",
"modified" : "2025-05-20T19:35:21Z",
"published" : "2025-05-20T19:35:21Z",
"aliases" : [ "CVE-2025-47939" ],
"summary" : "TYPO3 Allows Unrestricted File Upload in File Abstraction Layer",
"details" : "### Problem\nBy design, the file management module in TYPO3’s backend user interface has historically allowed the upload of any file type, with the exception of those that are directly executable in a web server context. This lack of restriction means it is possible to upload files that may be considered potentially harmful, such as executable binaries (e.g., `.exe` files), or files with inconsistent file extensions and MIME types (for example, a file incorrectly named with a `.png` extension but actually carrying the MIME type `application/zip`).\n\nAlthough such files are not directly executable through the web server, their presence can introduce indirect risks. For example, third-party services such as antivirus scanners or malware detection systems might flag or block access to the website for end users if suspicious files are found. This could negatively affect the availability or reputation of the site.\n\n### Solution\nUpdate to TYPO3 versions 9.5.51 ELTS, 10.4.50 ELTS, 11.5.44 ELTS, 12.4.31 LTS, 13.4.12 LTS that fix the problem described.\n\n> [!NOTE]\n> The mitigation strategies outlined below apply broadly to all file uploads handled through TYPO3's File Abstraction Layer (FAL), not just those performed via the backend interface. This means that any extension or custom integration leveraging FAL will also be subject to the new validation rules and configuration options. Developers are advised to review the implications for their code and refer to the [documentation of that change](https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/12.4.x/Important-106240-EnforceFile-extensionsAndMime-typeConsistencyInFileAbstractionLayer.html) for guidance.\n\n> [!IMPORTANT]\n>\n> **Strong security defaults - Manual actions required**\n> \n> These versions introduce new configuration options to better control which files are permitted for upload and to improve consistency checks.\n> \n> A new configuration option, `$GLOBALS['TYPO3_CONF_VARS']['SYS']['miscfile_ext']`, has been added. This option allows administrators to explicitly define which file extensions should be permitted that are not already part of the built-in text or media file groups - examples include archive formats such as `zip` or `xz`.\n> \n> In addition, two new feature flags have been introduced to enhance security:\n> * `security.system.enforceAllowedFileExtensions`, enforces the defined list of allowed file extensions. This flag is enabled by default in new TYPO3 installations, but remains disabled in existing installations to prevent breaking changes.\n> * `security.system.enforceFileExtensionMimeTypeConsistency`, ensures that the uploaded file’s extension matches its actual MIME type, providing further validation of file integrity. This flag is active by default.\n> \n> It is recommended to configure the allowed file extensions via `$GLOBALS['TYPO3_CONF_VARS']['SYS']['miscfile_ext']` and to enable the feature flag `security.system.enforceAllowedFileExtensions` to enforce the restriction.\n\n### Credits\nThanks to Hamed Kohi for reporting this issue, and to TYPO3 core & security team member Oliver Hader for fixing it.",
"severity" : [ {
"type" : "CVSS_V3",
"score" : "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "Packagist",
"name" : "typo3/cms-core"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "9.0.0"
}, {
"fixed" : "9.5.51"
} ]
} ],
"database_specific" : {
"last_known_affected_version_range" : "<= 9.5.50"
}
}, {
"package" : {
"ecosystem" : "Packagist",
"name" : "typo3/cms-core"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "10.0.0"
}, {
"fixed" : "10.4.50"
} ]
} ],
"database_specific" : {
"last_known_affected_version_range" : "<= 10.4.49"
}
}, {
"package" : {
"ecosystem" : "Packagist",
"name" : "typo3/cms-core"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "11.0.0"
}, {
"fixed" : "11.5.44"
} ]
} ],
"database_specific" : {
"last_known_affected_version_range" : "<= 11.5.43"
}
}, {
"package" : {
"ecosystem" : "Packagist",
"name" : "typo3/cms-core"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "12.0.0"
}, {
"fixed" : "12.4.31"
} ]
} ],
"database_specific" : {
"last_known_affected_version_range" : "<= 12.4.30"
}
}, {
"package" : {
"ecosystem" : "Packagist",
"name" : "typo3/cms-core"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "13.0.0"
}, {
"fixed" : "13.4.12"
} ]
} ],
"database_specific" : {
"last_known_affected_version_range" : "<= 13.4.11"
}
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/TYPO3/typo3/security/advisories/GHSA-9hq9-cr36-4wpj"
}, {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2025-47939"
}, {
"type" : "WEB",
"url" : "https://github.com/TYPO3-CMS/core/commit/c265beed6e2c01817c534a226e80e593400f8255"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/TYPO3-CMS/core"
}, {
"type" : "WEB",
"url" : "https://typo3.org/security/advisory/typo3-core-sa-2025-014"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-351", "CWE-434" ],
"severity" : "MODERATE",
"github_reviewed" : true,
"github_reviewed_at" : "2025-05-20T19:35:21Z",
"nvd_published_at" : "2025-05-20T14:15:50Z"
}
}