cve-2021-21425
Vulnerability from cvelistv5
Published
2021-04-07 18:20
Modified
2024-08-03 18:09
Severity ?
EPSS score ?
Summary
Unauthenticated Arbitrary YAML Write/Update leads to Code Execution
References
Impacted products
▼ | Vendor | Product |
---|---|---|
getgrav | grav-plugin-admin |
{ "containers": { "adp": [ { "providerMetadata": { "dateUpdated": "2024-08-03T18:09:16.154Z", "orgId": "af854a3a-2127-422b-91ae-364da2661108", "shortName": "CVE" }, "references": [ { "tags": [ "x_refsource_MISC", "x_transferred" ], "url": "https://pentest.blog/unexpected-journey-7-gravcms-unauthenticated-arbitrary-yaml-write-update-leads-to-code-execution/" }, { "tags": [ "x_refsource_CONFIRM", "x_transferred" ], "url": "https://github.com/getgrav/grav-plugin-admin/security/advisories/GHSA-6f53-6qgv-39pj" }, { "tags": [ "x_refsource_MISC", "x_transferred" ], "url": "http://packetstormsecurity.com/files/162283/GravCMS-1.10.7-Remote-Command-Execution.html" }, { "tags": [ "x_refsource_MISC", "x_transferred" ], "url": "http://packetstormsecurity.com/files/162457/GravCMS-1.10.7-Remote-Command-Execution.html" } ], "title": "CVE Program Container" } ], "cna": { "affected": [ { "product": "grav-plugin-admin", "vendor": "getgrav", "versions": [ { "status": "affected", "version": "\u003c= 1.10.7" } ] } ], "descriptions": [ { "lang": "en", "value": "Grav Admin Plugin is an HTML user interface that provides a way to configure Grav and create and modify pages. In versions 1.10.7 and earlier, an unauthenticated user can execute some methods of administrator controller without needing any credentials. Particular method execution will result in arbitrary YAML file creation or content change of existing YAML files on the system. Successfully exploitation of that vulnerability results in configuration changes, such as general site information change, custom scheduler job definition, etc. Due to the nature of the vulnerability, an adversary can change some part of the webpage, or hijack an administrator account, or execute operating system command under the context of the web-server user. This vulnerability is fixed in version 1.10.8. Blocking access to the `/admin` path from untrusted sources can be applied as a workaround." } ], "metrics": [ { "cvssV3_1": { "attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "NONE", "baseScore": 9.3, "baseSeverity": "CRITICAL", "confidentialityImpact": "LOW", "integrityImpact": "HIGH", "privilegesRequired": "NONE", "scope": "CHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:H/A:N", "version": "3.1" } } ], "problemTypes": [ { "descriptions": [ { "cweId": "CWE-284", "description": "CWE-284 Improper Access Control", "lang": "en", "type": "CWE" } ] } ], "providerMetadata": { "dateUpdated": "2021-05-04T20:06:24", "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "shortName": "GitHub_M" }, "references": [ { "tags": [ "x_refsource_MISC" ], "url": "https://pentest.blog/unexpected-journey-7-gravcms-unauthenticated-arbitrary-yaml-write-update-leads-to-code-execution/" }, { "tags": [ "x_refsource_CONFIRM" ], "url": "https://github.com/getgrav/grav-plugin-admin/security/advisories/GHSA-6f53-6qgv-39pj" }, { "tags": [ "x_refsource_MISC" ], "url": "http://packetstormsecurity.com/files/162283/GravCMS-1.10.7-Remote-Command-Execution.html" }, { "tags": [ "x_refsource_MISC" ], "url": "http://packetstormsecurity.com/files/162457/GravCMS-1.10.7-Remote-Command-Execution.html" } ], "source": { "advisory": "GHSA-6f53-6qgv-39pj", "discovery": "UNKNOWN" }, "title": "Unauthenticated Arbitrary YAML Write/Update leads to Code Execution", "x_legacyV4Record": { "CVE_data_meta": { "ASSIGNER": "security-advisories@github.com", "ID": "CVE-2021-21425", "STATE": "PUBLIC", "TITLE": "Unauthenticated Arbitrary YAML Write/Update leads to Code Execution" }, "affects": { "vendor": { "vendor_data": [ { "product": { "product_data": [ { "product_name": "grav-plugin-admin", "version": { "version_data": [ { "version_value": "\u003c= 1.10.7" } ] } } ] }, "vendor_name": "getgrav" } ] } }, "data_format": "MITRE", "data_type": "CVE", "data_version": "4.0", "description": { "description_data": [ { "lang": "eng", "value": "Grav Admin Plugin is an HTML user interface that provides a way to configure Grav and create and modify pages. In versions 1.10.7 and earlier, an unauthenticated user can execute some methods of administrator controller without needing any credentials. Particular method execution will result in arbitrary YAML file creation or content change of existing YAML files on the system. Successfully exploitation of that vulnerability results in configuration changes, such as general site information change, custom scheduler job definition, etc. Due to the nature of the vulnerability, an adversary can change some part of the webpage, or hijack an administrator account, or execute operating system command under the context of the web-server user. This vulnerability is fixed in version 1.10.8. Blocking access to the `/admin` path from untrusted sources can be applied as a workaround." } ] }, "impact": { "cvss": { "attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "NONE", "baseScore": 9.3, "baseSeverity": "CRITICAL", "confidentialityImpact": "LOW", "integrityImpact": "HIGH", "privilegesRequired": "NONE", "scope": "CHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:H/A:N", "version": "3.1" } }, "problemtype": { "problemtype_data": [ { "description": [ { "lang": "eng", "value": "CWE-284 Improper Access Control" } ] } ] }, "references": { "reference_data": [ { "name": "https://pentest.blog/unexpected-journey-7-gravcms-unauthenticated-arbitrary-yaml-write-update-leads-to-code-execution/", "refsource": "MISC", "url": "https://pentest.blog/unexpected-journey-7-gravcms-unauthenticated-arbitrary-yaml-write-update-leads-to-code-execution/" }, { "name": "https://github.com/getgrav/grav-plugin-admin/security/advisories/GHSA-6f53-6qgv-39pj", "refsource": "CONFIRM", "url": "https://github.com/getgrav/grav-plugin-admin/security/advisories/GHSA-6f53-6qgv-39pj" }, { "name": "http://packetstormsecurity.com/files/162283/GravCMS-1.10.7-Remote-Command-Execution.html", "refsource": "MISC", "url": "http://packetstormsecurity.com/files/162283/GravCMS-1.10.7-Remote-Command-Execution.html" }, { "name": "http://packetstormsecurity.com/files/162457/GravCMS-1.10.7-Remote-Command-Execution.html", "refsource": "MISC", "url": "http://packetstormsecurity.com/files/162457/GravCMS-1.10.7-Remote-Command-Execution.html" } ] }, "source": { "advisory": "GHSA-6f53-6qgv-39pj", "discovery": "UNKNOWN" } } } }, "cveMetadata": { "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "assignerShortName": "GitHub_M", "cveId": "CVE-2021-21425", "datePublished": "2021-04-07T18:20:13", "dateReserved": "2020-12-22T00:00:00", "dateUpdated": "2024-08-03T18:09:16.154Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1", "meta": { "nvd": "{\"cve\":{\"id\":\"CVE-2021-21425\",\"sourceIdentifier\":\"security-advisories@github.com\",\"published\":\"2021-04-07T19:15:12.190\",\"lastModified\":\"2022-10-24T20:56:31.210\",\"vulnStatus\":\"Analyzed\",\"descriptions\":[{\"lang\":\"en\",\"value\":\"Grav Admin Plugin is an HTML user interface that provides a way to configure Grav and create and modify pages. In versions 1.10.7 and earlier, an unauthenticated user can execute some methods of administrator controller without needing any credentials. Particular method execution will result in arbitrary YAML file creation or content change of existing YAML files on the system. Successfully exploitation of that vulnerability results in configuration changes, such as general site information change, custom scheduler job definition, etc. Due to the nature of the vulnerability, an adversary can change some part of the webpage, or hijack an administrator account, or execute operating system command under the context of the web-server user. This vulnerability is fixed in version 1.10.8. Blocking access to the `/admin` path from untrusted sources can be applied as a workaround.\"},{\"lang\":\"es\",\"value\":\"Grav Admin Plugin es una interfaz de usuario HTML que proporciona una manera de configurar Grav y crear y modificar p\u00e1ginas.\u0026#xa0;En versiones 1.10.7 y anteriores, un usuario no autenticado puede ejecutar algunos m\u00e9todos de controlador de administrador sin necesidad de credenciales.\u0026#xa0;Una ejecuci\u00f3n de un m\u00e9todo particular dar\u00e1 como resultado la creaci\u00f3n arbitraria de archivos YAML o el cambio de contenido de archivos YAML existentes en el sistema.\u0026#xa0;Una explotaci\u00f3n con \u00e9xito de esa vulnerabilidad resulta en cambios de configuraci\u00f3n, como cambios en la informaci\u00f3n general del sitio, definici\u00f3n del trabajo del programador personalizado, etc. Debido a la naturaleza de la vulnerabilidad, un adversario puede cambiar alguna parte de la p\u00e1gina web, o secuestrar una cuenta de administrador, o ejecutar un comando del sistema operativo en el contexto del usuario del servidor web.\u0026#xa0;Esta vulnerabilidad es corregida en versi\u00f3n 1.10.8. Como soluci\u00f3n se puede bloquear el acceso a la ruta \\\"/admin\\\" desde fuentes no confiables\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\",\"baseScore\":9.8,\"baseSeverity\":\"CRITICAL\"},\"exploitabilityScore\":3.9,\"impactScore\":5.9},{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:H/A:N\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"CHANGED\",\"confidentialityImpact\":\"LOW\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"NONE\",\"baseScore\":9.3,\"baseSeverity\":\"CRITICAL\"},\"exploitabilityScore\":3.9,\"impactScore\":4.7}],\"cvssMetricV2\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"2.0\",\"vectorString\":\"AV:N/AC:L/Au:N/C:P/I:P/A:P\",\"accessVector\":\"NETWORK\",\"accessComplexity\":\"LOW\",\"authentication\":\"NONE\",\"confidentialityImpact\":\"PARTIAL\",\"integrityImpact\":\"PARTIAL\",\"availabilityImpact\":\"PARTIAL\",\"baseScore\":7.5},\"baseSeverity\":\"HIGH\",\"exploitabilityScore\":10.0,\"impactScore\":6.4,\"acInsufInfo\":false,\"obtainAllPrivilege\":false,\"obtainUserPrivilege\":false,\"obtainOtherPrivilege\":false,\"userInteractionRequired\":false}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"NVD-CWE-Other\"}]},{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-284\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:getgrav:grav-plugin-admin:*:*:*:*:*:*:*:*\",\"versionEndExcluding\":\"1.10.8\",\"matchCriteriaId\":\"637B823D-D43D-4031-AF0F-E0627830E981\"}]}]}],\"references\":[{\"url\":\"http://packetstormsecurity.com/files/162283/GravCMS-1.10.7-Remote-Command-Execution.html\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Third Party Advisory\",\"VDB Entry\"]},{\"url\":\"http://packetstormsecurity.com/files/162457/GravCMS-1.10.7-Remote-Command-Execution.html\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Third Party Advisory\",\"VDB Entry\"]},{\"url\":\"https://github.com/getgrav/grav-plugin-admin/security/advisories/GHSA-6f53-6qgv-39pj\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Third Party Advisory\"]},{\"url\":\"https://pentest.blog/unexpected-journey-7-gravcms-unauthenticated-arbitrary-yaml-write-update-leads-to-code-execution/\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Exploit\",\"Third Party Advisory\"]}]}}" } }
Loading...
Loading...
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.