{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2026-11430", "assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10", "state": "PUBLISHED", "assignerShortName": "VulnCheck", "dateReserved": "2026-06-05T21:01:53.800Z", "datePublished": "2026-08-07T19:02:10.025Z", "dateUpdated": "2026-08-13T18:13:49.467Z" }, "containers": { "cna": { "providerMetadata": { "orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10", "shortName": "VulnCheck", "dateUpdated": "2026-08-13T18:13:49.467Z" }, "title": "Grav CMS Scheduler Webhook Authentication Bypass via Null Short-Circuit", "descriptions": [ { "lang": "en", "value": "Grav CMS's scheduler-webhook plugin contains an authentication bypass in the webhook token check. When the webhook feature is enabled but no webhookToken is configured, a compound conditional short-circuits and skips token validation, so an unauthenticated remote attacker who can reach POST /scheduler/webhook can trigger the operator's already-configured scheduled jobs by sending a single request. The primitive is triggering-existing-jobs, not attacker-chosen command execution: the attacker controls when the jobs run and which one runs (via ?job=), but does not control what the jobs do. Code execution follows only when the operator has configured a job that shells out, and even then the attacker controls timing rather than payload. Not a default-install issue: reaching the endpoint requires the separate scheduler-webhook GPM plugin to be installed, scheduler.modern.webhook.enabled to be true (default false), and no webhookToken to be configured; a stock Grav or Grav-Admin install exposes nothing here." } ], "datePublic": "2026-08-07T00:00:00.000Z", "problemTypes": [ { "descriptions": [ { "lang": "en", "cweId": "CWE-303", "description": "Incorrect Implementation of Authentication Algorithm", "type": "CWE" } ] } ], "affected": [ { "defaultStatus": "affected", "vendor": "Trilby Media", "product": "grav-plugin-scheduler-webhook", "versions": [ { "status": "affected", "version": "0", "versionType": "semver", "lessThan": "1.1.3" } ] }, { "defaultStatus": "affected", "vendor": "Trilby Media", "product": "getgrav/grav", "versions": [ { "status": "affected", "version": "0", "versionType": "semver", "lessThan": "2.0.9" } ] } ], "metrics": [ { "format": "CVSS", "scenarios": [ { "lang": "en", "value": "GENERAL" } ], "cvssV4_0": { "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "NONE", "userInteraction": "NONE", "vulnConfidentialityImpact": "LOW", "subConfidentialityImpact": "NONE", "vulnIntegrityImpact": "LOW", "subIntegrityImpact": "NONE", "vulnAvailabilityImpact": "LOW", "subAvailabilityImpact": "NONE", "exploitMaturity": "NOT_DEFINED", "Safety": "NOT_DEFINED", "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "valueDensity": "NOT_DEFINED", "vulnerabilityResponseEffort": "NOT_DEFINED", "providerUrgency": "NOT_DEFINED", "version": "4.0", "baseSeverity": "MEDIUM", "baseScore": 6.9, "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N" } }, { "format": "CVSS", "scenarios": [ { "lang": "en", "value": "GENERAL" } ], "cvssV3_1": { "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "LOW", "version": "3.1", "baseSeverity": "HIGH", "baseScore": 7.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L" } } ], "references": [ { "url": "https://github.com/getgrav/grav/security/advisories/GHSA-xwv3-2mv2-w33x", "name": "GitHub Security Advisory", "tags": [ "technical-description" ] }, { "url": "https://github.com/getgrav/grav", "name": "Product Repository", "tags": [ "product" ] }, { "url": "https://github.com/getgrav/grav/commit/694f1dae06d9061bbf0669c4291e3b206f998d71", "name": "Patch Commit", "tags": [ "patch" ] }, { "url": "https://www.vulncheck.com/advisories/grav-cms-scheduler-webhook-authentication-bypass-via-null-short-circuit", "tags": [ "third-party-advisory" ] } ], "credits": [ { "lang": "en", "value": "Saidakbarxon Maxsudxonov and Usmon Khudoyorov", "type": "finder" } ], "source": { "discovery": "UNKNOWN" }, "x_generator": { "engine": "vulncheck" } }, "adp": [ { "metrics": [ { "other": { "type": "ssvc", "content": { "timestamp": "2026-08-07T20:56:04.638693Z", "id": "CVE-2026-11430", "options": [ { "Exploitation": "none" }, { "Automatable": "yes" }, { "Technical Impact": "partial" } ], "role": "CISA Coordinator", "version": "2.0.3" } } } ], "title": "CISA ADP Vulnrichment", "providerMetadata": { "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP", "dateUpdated": "2026-08-07T21:02:02.538Z" } } ] } }