CVE-2020-15109
In solidus before versions 2.8.6, 2.9.6, and 2.10.2, there is an bility to change order address without triggering address validations. This vulnerability allows a malicious customer to craft request data with parameters that allow changing the address of the current order without changing the shipment costs associated with the new shipment. All stores with at least two shipping zones and different costs of shipment per zone are impacted. This problem comes from how checkout permitted attributes are structured.
Leer descripción completaMostrar menos
We have a single list of attributes that are permitted across the whole checkout, no matter the step that is being submitted. See the linked reference for more information. As a workaround, if it is not possible to upgrade to a supported patched version, please use this gist in the references section.
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
- Puntuación base: 5.3
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.90%
- Percentil entre todas las CVEs puntuadas: 58
- Fecha de la puntuación: 5/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
🎯 Técnicas ATT&CK
Cómo se explota esta vulnerabilidad y qué consigue el atacante, en el lenguaje de MITRE ATT&CK.
- Explotación
T1133External Remote Servicespersistence · initial access - Impacto principal
T1190Exploit Public-Facing Applicationinitial access - Impacto secundario
T1565Data Manipulationimpact
Fuente: mapeo oficial MITRE CTID (CVE → ATT&CK).
🛡️ Mitigaciones ATT&CK que cubren estas técnicas
Tecnologías afectadas (1)
CWE
- CWE-20
- CWE-862
Referencias
JSON original (NVD)
Mostrar
{
"id": "CVE-2020-15109",
"cveTags": [],
"metrics": {
"cvssMetricV2": [
{
"type": "Primary",
"source": "nvd@nist.gov",
"cvssData": {
"version": "2.0",
"baseScore": 5,
"accessVector": "NETWORK",
"vectorString": "AV:N/AC:L/Au:N/C:N/I:P/A:N",
"authentication": "NONE",
"integrityImpact": "PARTIAL",
"accessComplexity": "LOW",
"availabilityImpact": "NONE",
"confidentialityImpact": "NONE"
},
"acInsufInfo": false,
"impactScore": 2.9,
"baseSeverity": "MEDIUM",
"obtainAllPrivilege": false,
"exploitabilityScore": 10,
"obtainUserPrivilege": false,
"obtainOtherPrivilege": false,
"userInteractionRequired": false
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 5.3,
"attackVector": "NETWORK",
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N",
"integrityImpact": "LOW",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "NONE"
},
"impactScore": 1.4,
"exploitabilityScore": 3.9
},
{
"type": "Primary",
"source": "nvd@nist.gov",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 5.3,
"attackVector": "NETWORK",
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N",
"integrityImpact": "LOW",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "NONE"
},
"impactScore": 1.4,
"exploitabilityScore": 3.9
}
]
},
"affected": [
{
"source": "security-advisories@github.com",
"affectedData": [
{
"vendor": "solidusio",
"product": "solidus",
"versions": [
{
"status": "affected",
"version": "< 2.8.6"
},
{
"status": "affected",
"version": ">= 2.9.0, < 2.9.6"
},
{
"status": "affected",
"version": ">= 2.10.0, < 2.10.2"
}
]
}
]
}
],
"published": "2020-08-04T23:15:10.347",
"references": [
{
"url": "https://gist.github.com/kennyadsl/4618cd9797984cb64f7700a81bda889d",
"tags": [
"Patch",
"Third Party Advisory"
],
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/solidusio/solidus/security/advisories/GHSA-3mvg-rrrw-m7ph",
"tags": [
"Exploit",
"Third Party Advisory"
],
"source": "security-advisories@github.com"
},
{
"url": "https://gist.github.com/kennyadsl/4618cd9797984cb64f7700a81bda889d",
"tags": [
"Patch",
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://github.com/solidusio/solidus/security/advisories/GHSA-3mvg-rrrw-m7ph",
"tags": [
"Exploit",
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
}
],
"vulnStatus": "Modified",
"weaknesses": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"description": [
{
"lang": "en",
"value": "CWE-20"
}
]
},
{
"type": "Primary",
"source": "nvd@nist.gov",
"description": [
{
"lang": "en",
"value": "CWE-862"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In solidus before versions 2.8.6, 2.9.6, and 2.10.2, there is an bility to change order address without triggering address validations. This vulnerability allows a malicious customer to craft request data with parameters that allow changing the address of the current order without changing the shipment costs associated with the new shipment. All stores with at least two shipping zones and different costs of shipment per zone are impacted. This problem comes from how checkout permitted attributes are structured. We have a single list of attributes that are permitted across the whole checkout, no matter the step that is being submitted. See the linked reference for more information. As a workaround, if it is not possible to upgrade to a supported patched version, please use this gist in the references section."
},
{
"lang": "es",
"value": "En solidus versiones anteriores a 2.8.6, 2.9.6 y 2.10.2, se presenta la posibilidad de cambiar la dirección del pedido sin activar comprobaciones de dirección. Esta vulnerabilidad permite a un cliente malicioso crear datos de petición con parámetros que permitan cambiar la dirección del pedido actual sin cambiar los costos de envío asociados con el nuevo envío. Todas las tiendas con al menos dos zonas de envío y diferentes costos de envío por zona están afectadas. Este problema proviene de cómo se estructuran los atributos permitidos de pago. Tenemos una lista única de atributos que están permitidos en todo el proceso de pago, sin importar el paso que esta siendo enviado. Consulte la referencia vinculada para más información. Como una solución alternativa, si no es posible actualizar a una versión parcheada compatible, use esta esencia en la sección de referencias"
}
],
"lastModified": "2026-06-17T02:56:04.283",
"configurations": [
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:nebulab:solidus:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "3AE5C6C1-50C2-4D8A-A1A1-1679BF2BD616",
"versionEndExcluding": "2.8.6"
},
{
"criteria": "cpe:2.3:a:nebulab:solidus:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "83119E07-1C20-4CD2-8561-2B6AF76A460C",
"versionEndExcluding": "2.9.6",
"versionStartIncluding": "2.9.0"
},
{
"criteria": "cpe:2.3:a:nebulab:solidus:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "57EEBC07-382C-4A07-965F-CD2FB7110CC9",
"versionEndExcluding": "2.10.2",
"versionStartIncluding": "2.10.0"
}
],
"operator": "OR"
}
]
}
],
"sourceIdentifier": "security-advisories@github.com"
}