Skip to content
Heist/ feed
Back to feed
Critical

Security advisory

Type: advisorySources: OSVCVE: CVE-2021-21425

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2021-21425
Confirmed fixed CVEs
Not specified
Updated in this feed
31 Oct 2026, 11:32 UTC · Revision 1

Source evidence

CVE-2021-21425

core-osv · Original source

Published 7 Apr 2021, 19:15 UTC

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.

osv:CVE-2021-21425
Complete source record
{
  "id": "3bc8e8a5ea6347a525333c9ab54331261393f7855688cffffb017f275179140f",
  "url": "https://osv.dev/vulnerability/CVE-2021-21425",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "CVE-2021-21425",
    "summary": "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.",
    "evidence": "osv:CVE-2021-21425",
    "products": [],
    "severity": "critical",
    "structured": {
      "id": "CVE-2021-21425",
      "aliases": [
        "CVE-2021-21425",
        "GHSA-6f53-6qgv-39pj"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/getgrav/grav-plugin-admin",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "6546f1255bdaf4169269226f02a55302689fdcd7"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:getgrav:grav-plugin-admin:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.10.8"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "1.10.7",
            "1.10.6",
            "1.10.5",
            "1.10.4",
            "1.10.3",
            "1.10.2",
            "1.10.1",
            "1.10.0",
            "1.9.19",
            "1.9.18",
            "1.9.17",
            "1.9.16",
            "1.9.15",
            "1.9.14",
            "1.9.13",
            "1.9.12",
            "1.9.10",
            "1.9.9",
            "1.9.8",
            "1.9.7",
            "1.9.6",
            "1.9.5",
            "1.9.4",
            "1.9.3",
            "1.9.2",
            "1.9.1",
            "1.9.0",
            "1.8.20",
            "1.8.19",
            "1.8.18",
            "1.8.17",
            "1.8.16",
            "1.8.15",
            "1.8.14",
            "1.8.13",
            "1.8.12",
            "1.8.11",
            "1.8.10",
            "1.8.9",
            "1.8.8",
            "1.8.7",
            "1.8.6",
            "1.8.5",
            "1.8.4",
            "1.8.3",
            "1.8.2",
            "1.8.1",
            "1.8.0",
            "1.7.4",
            "1.7.3",
            "1.7.2",
            "1.7.1",
            "1.7.0",
            "1.6.7",
            "1.6.6",
            "1.6.5",
            "1.6.4",
            "1.6.3",
            "1.6.2",
            "1.6.1",
            "1.6.0",
            "1.5.2",
            "1.5.1",
            "1.5.0",
            "1.4.2",
            "1.4.1",
            "1.4.0",
            "1.3.3",
            "1.3.2",
            "1.3.1",
            "1.3.0",
            "1.2.14",
            "1.2.13",
            "1.2.12",
            "1.2.5-rc.4",
            "1.2.5-rc.3",
            "1.2.5-rc.2",
            "1.2.5-rc.1",
            "1.2.0-rc.2",
            "1.2.0-rc.1",
            "1.1.0-rc.4",
            "1.1.0-rc.3",
            "1.1.0-rc.2",
            "1.1.0-rc.1",
            "1.1.0-beta.5",
            "1.1.0-beta.4",
            "1.1.0-beta.3",
            "1.1.0-beta.2",
            "1.1.0-beta.1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-21425.json"
          }
        }
      ],
      "modified": "2026-10-20T10:54:29.287323695Z",
      "provider": "osv",
      "references": [
        "https://github.com/getgrav/grav-plugin-admin/security/advisories/GHSA-6f53-6qgv-39pj",
        "https://pentest.blog/unexpected-journey-7-gravcms-unauthenticated-arbitrary-yaml-write-update-leads-to-code-execution/"
      ],
      "provider_metadata": {}
    },
    "related_cves": [
      {
        "value": "CVE-2021-21425",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 385449,
  "published_at": "2021-04-07T19:15:12.19+00:00"
}