CVE-2025-12974
Full vulnerability record from the local CVENow database.
Description
The Gravity Forms plugin for WordPress is vulnerable to arbitrary file uploads due to missing file type validation in the legacy chunked upload mechanism in all versions up to, and including, 2.9.21.1. This is due to the extension blacklist not including .phar files, which can be uploaded through the chunked upload mechanism. This makes it possible for unauthenticated attackers to upload executable .phar files and achieve remote code execution on the server, granted they can discover or enumerate the upload path. In order for an attacker to achieve RCE, the web server needs to be set up to process .phar file as PHP via file handler mapping or similar.
Severity
HIGH
CVSS score
8.1
(v3.1)
Vulnerability status
Deferred
Source identifier
Published
2025-11-18 04:15:43.583000
Last modified
2026-10-19 13:10:00.110000
View original CVE JSON
{
"id": "CVE-2025-12974",
"sourceIdentifier": "[email protected]",
"published": "2025-11-18T04:15:43.583",
"lastModified": "2026-10-19T13:10:00.110",
"vulnStatus": "Deferred",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "The Gravity Forms plugin for WordPress is vulnerable to arbitrary file uploads due to missing file type validation in the legacy chunked upload mechanism in all versions up to, and including, 2.9.21.1. This is due to the extension blacklist not including .phar files, which can be uploaded through the chunked upload mechanism. This makes it possible for unauthenticated attackers to upload executable .phar files and achieve remote code execution on the server, granted they can discover or enumerate the upload path. In order for an attacker to achieve RCE, the web server needs to be set up to process .phar file as PHP via file handler mapping or similar."
},
{
"lang": "es",
"value": "El plugin Gravity Forms para WordPress es vulnerable a la carga arbitraria de archivos debido a la falta de validación del tipo de archivo en el mecanismo de carga por fragmentos (chunked upload) heredado en todas las versiones hasta la 2.9.21.1, inclusive. Esto se debe a que la lista negra de extensiones no incluye archivos .phar, los cuales pueden ser cargados a través del mecanismo de carga por fragmentos. Esto hace posible que atacantes no autenticados carguen archivos .phar ejecutables y logren la ejecución remota de código en el servidor, siempre que puedan descubrir o enumerar la ruta de carga. Para que un atacante logre RCE, el servidor web debe estar configurado para procesar archivos .phar como PHP a través de la asignación de manejadores de archivos o similar."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "Gravity Forms",
"product": "Gravity Forms",
"defaultStatus": "unaffected",
"versions": [
{
"version": "0",
"lessThanOrEqual": "2.9.21.1",
"versionType": "semver",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
"baseScore": 8.1,
"baseSeverity": "HIGH",
"attackVector": "NETWORK",
"attackComplexity": "HIGH",
"privilegesRequired": "NONE",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 2.2,
"impactScore": 5.9
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2025-11-18T15:04:01.244566Z",
"id": "CVE-2025-12974",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "total"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-434"
}
]
}
],
"references": [
{
"url": "https://docs.gravityforms.com/gravityforms-change-log/",
"source": "[email protected]"
},
{
"url": "https://github.com/pronamic/gravityforms/blob/06de1b7e169e4f073e9d0d491e17b89365b48c20/common/common.php#L4178",
"source": "[email protected]"
},
{
"url": "https://github.com/pronamic/gravityforms/blob/06de1b7e169e4f073e9d0d491e17b89365b48c20/includes/upload.php#L97",
"source": "[email protected]"
},
{
"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/b6395439-da45-4b64-8e30-b106dffd46c1?source=cve",
"source": "[email protected]"
}
]
}