VYPR

Grav Plugin API

by Getgrav

Source repositories

CVEs (20)

  • CVE-2026-80203CriAug 26, 2026
    risk 0.57cvss 9.8epss 0.01

    The getgrav/grav-plugin-api plugin before 1.0.18 does not enforce API-key scope in the requireNotSuperTarget() function in UsersController.php across seven sensitive user-management endpoints. The check uses isSuperAdmin() on the acting account rather than verifying whether the…

  • CVE-2026-72824HigAug 14, 2026
    risk 0.57cvss 8.8epss 0.01

    The Grav API plugin (getgrav/grav-plugin-api) before 1.0.13 contains an API key scope-cap bypass in PagesController::guardTwigContent(). The Twig-toggle check uses a bare isSuperAdmin() gate that does not consult api_key_scopes, so a least-privilege API key scoped only to…

  • CVE-2026-65897HigJul 23, 2026
    risk 0.57cvss 8.8epss 0.01

    Grav API Plugin versions before 1.0.10 fail to validate the groups field in InvitationsController::create(), allowing authenticated api.users.write callers to assign invited accounts to groups that grant api.super permissions. Attackers can create invitation records with…

  • CVE-2026-62668CriAug 19, 2026
    risk 0.54cvss —epss 0.00

    Grav API Plugin is a RESTful API for Grav CMS that provides full headless access to your site's content. Prior to 1.0.6, the Grav API plugin WebhookController.php accepts webhook URLs after only FILTER_VALIDATE_URL syntax validation, and WebhookDispatcher.php initializes cURL…

  • CVE-2026-86195HigSep 5, 2026
    risk 0.50cvss —epss 0.00

    grav-plugin-api versions before 1.0.20 contain a privilege escalation vulnerability in the InvitationsController where the stripSuperFlags() method only removes nested super flags but fails to strip dot-keyed equivalents like api.super. A non-super user manager with api.access…

  • CVE-2026-86193HigSep 5, 2026
    risk 0.50cvss —epss 0.00

    grav-plugin-api before 1.0.20 fails to validate group-inherited super permissions in user-management guards, allowing non-super user managers to modify super-admin accounts. Attackers with api.access and api.users.write can patch password fields on group-super accounts to gain…

  • CVE-2026-72830HigAug 14, 2026
    risk 0.50cvss 8.8epss 0.01

    Grav API plugin versions before 1.0.13 fail to enforce API key scope caps in ConfigController super-scope gates, allowing scoped keys to write scheduler configuration. The scope cap is applied only inside requirePermission(), while the scheduler and backups gates use a bare…

  • CVE-2026-72826HigAug 14, 2026
    risk 0.50cvss 8.8epss 0.00

    The getgrav/grav-plugin-api plugin before 1.0.13 fails to validate that the scopes of a newly created API key are a subset of the caller's scopes in createApiKey. The self-target path of requireApiKeyPermission() requires only the baseline api.access scope, and the new key's…

  • CVE-2026-72822HigAug 14, 2026
    risk 0.50cvss 8.8epss 0.01

    The getgrav/grav-plugin-api Composer package before 1.0.13 (affected <= 1.0.12) fails to enforce API key scope caps on the disable2fa endpoint. Unlike the sibling generate2fa endpoint, disable2fa authorizes the admin (non-self) path solely via ACL reads…

  • CVE-2026-42843HigMay 11, 2026
    risk 0.50cvss 8.8epss 0.00

    Grav API Plugin is a RESTful API for Grav CMS that provides full headless access to your site's content, media, configuration, users, and system management. Prior to 1.0.0-beta.15, an insecure direct object reference and logic flaw in the Grav API plugin…

  • CVE-2026-72700HigAug 25, 2026
    risk 0.49cvss 7.5epss 0.00

    The getgrav/grav-plugin-login Composer plugin before 3.9.1 (used by Grav) compares password reset and account activation tokens using a non-constant-time === string comparison instead of hash_equals() in classes/Controller.php (taskReset()) and login.php (activation handler).…

  • CVE-2026-75829HigAug 18, 2026
    risk 0.46cvss 8.1epss 0.00

    grav-plugin-api versions before 1.0.15 fail to validate Twig content in the translate() endpoint, allowing attackers with api.pages.write permission to persist pages with process.twig enabled. Attackers can submit crafted header and content parameters to execute server-side…

  • CVE-2026-72825HigAug 14, 2026
    risk 0.42cvss 7.6epss 0.00

    The getgrav/grav-plugin-api plugin before 1.0.13 contains an API-key scope cap bypass in the POST /reports/twig-content/allowlist endpoint (ReportsController). The endpoint enforces requirePermission('api.config.write') followed by a bare isSuperAdmin() check instead of…

  • CVE-2026-72828HigAug 14, 2026
    risk 0.40cvss 7.2epss 0.00

    Grav Plugin API (getgrav/grav-plugin-api) before 1.0.13 fails to enforce API-key scope caps in InvitationsController. The strip-super and accept-groups decisions are gated on a bare isSuperAdmin() check rather than a scope-aware permission check, so a least-privilege API key…

  • CVE-2026-75830HigAug 18, 2026
    risk 0.39cvss 7.1epss 0.00

    grav-plugin-api (getgrav/grav-plugin-api) versions >= 1.0.0-beta.10 and <= 1.0.14 contain a path traversal vulnerability in the PagesController::batchCopy() method. An incomplete fix for GHSA-qjq4-jp55-4mx2 left the user-controlled 'suffix' parameter (via POST…

  • CVE-2026-74908MedAug 18, 2026
    risk 0.23cvss 4.6epss 0.00

    Grav plugin-api before 1.0.15 contains a script injection vulnerability where the SVG sanitizer only checks for the exact extension 'svg', allowing .svgz and .xhtml files to bypass sanitization and be stored unsanitized. Attackers with api.media.write permission can upload files…

  • CVE-2026-75835MedAug 18, 2026
    risk 0.21cvss 4.3epss 0.00

    Grav API plugin (getgrav/grav-plugin-api) before 1.0.14 contains a missing authorization vulnerability in userPassesAuthorize() (AbstractApiController.php). The function fails to consult the calling request's API key scopes, relying instead on the account's raw super-admin flag…

  • CVE-2026-62386HigJul 17, 2026
    risk 0.00cvss 7.5epss 0.00

    The Grav API plugin (getgrav/grav-plugin-api) before 1.0.0-rc.16 accepts JWT access tokens through the ?token= URL query parameter on every API route (JwtAuthenticator::extractBearerToken fallback). Because tokens are embedded in URLs, they are logged verbatim in web server…

  • CVE-2026-61451CriJul 15, 2026
    risk 0.00cvss 9.6epss 0.00

    The Grav API plugin (grav-plugin-api) before 1.0.4 does not validate the origin of the client-supplied admin_base_url field in the POST /api/v1/auth/forgot-password endpoint. The sanitizeHttpUrl() function only checks that the URL scheme is http/https and never verifies the host…

  • CVE-2026-58654MedJul 8, 2026
    risk 0.00cvss 4.3epss 0.00

    The Grav API plugin (getgrav/grav-plugin-api) 1.0.0 contains an unrestricted file upload vulnerability in the avatar upload endpoint (/api/v1/users/user/avatar). The endpoint validates only the client-declared MIME type (getClientMediaType) beginning with 'image/' and does not…