CVE-2026-75836: Grav API Plugin before 1.0.14 Missing Authorization

Published Aug 18, 2026
·
Updated

The Grav API plugin (getgrav/grav-plugin-api, bundled with Grav's admin-next/API stack) before 1.0.14 fails to enforce the authorize requirement in MenubarController::executeAction(). While the GET /menubar/items listing endpoint correctly filters menubar items via userPassesAuthorize(), the POST /api/v1/menubar/actions/{plugin}/{action} endpoint only checks the baseline api.access permission and never evaluates the authorize field a plugin registered for that action. Any authenticated caller with api.access can therefore invoke a privileged menubar action directly, bypassing the intended authorization. No plugin bundled with core Grav currently registers a privileged authorize handler, so on a stock install the impact is latent; the flaw affects any first- or third-party plugin relying on the documented authorize semantics.

Affected Software

1 affected component
getgrav/grav-plugin-api<1.0.14

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade getgrav/grav-plugin-api to a version that resolves this vulnerability.

    Fixed in 1.0.14

Event History

Aug 18, 2026
CVE Published
via MITRE·11:19 AM
Data Sourced
via MITRE·11:19 AM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which deployments are realistically affected?

Exposure requires the Grav API plugin to be used with a first- or third-party plugin that registers a menubar action and relies on its authorize field for access control. No core Grav bundled plugin currently registers a privileged authorize handler, so the impact is latent on a stock installation.

2

What access does an attacker need to exploit this?

An attacker needs to be authenticated and have the baseline api.access permission. They can then send a POST request to /api/v1/menubar/actions/{plugin}/{action} for a registered action without satisfying that action's intended authorize requirement.

3

What can be done if patching is delayed?

Update the Grav API plugin to version 1.0.14 or later. If updating is not immediately possible, remove api.access from users who do not require it and avoid or disable plugins whose menubar actions depend on authorize semantics.

4

How can I determine whether my deployment is affected?

Review installed first- and third-party plugins for menubar actions that register an authorize field, then determine whether users with api.access can invoke those actions through the POST menubar-actions endpoint. The GET /menubar/items endpoint filtering is not sufficient evidence that the corresponding action endpoint is protected.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203