π¨ CVE-2026-85599
Grav Shortcode Core before 6.2.5 contains stored cross-site scripting vulnerabilities in the [lorem] tag parameter and [details] summary parameter that are written to rendered pages without escaping. Attackers with page-edit access can inject arbitrary HTML and JavaScript that executes in the browsers of all page visitors, including administrators.
π@cveNotify
Grav Shortcode Core before 6.2.5 contains stored cross-site scripting vulnerabilities in the [lorem] tag parameter and [details] summary parameter that are written to rendered pages without escaping. Attackers with page-edit access can inject arbitrary HTML and JavaScript that executes in the browsers of all page visitors, including administrators.
π@cveNotify
GitHub
Stored XSS in Shortcode Core via unescaped [lorem] tag and [details] summary parameters
## Summary
Two shortcodes in Shortcode Core wrote an author-supplied parameter into the rendered page without escaping or validating it, allowing a user with ordinary page-edit access to store HTM...
Two shortcodes in Shortcode Core wrote an author-supplied parameter into the rendered page without escaping or validating it, allowing a user with ordinary page-edit access to store HTM...
π¨ CVE-2026-85600
Grav Admin (getgrav/grav-plugin-admin2) versions <= 2.0.19 contain a stored cross-site scripting vulnerability in the tHtml() function (src/lib/stores/i18n.svelte.ts), which substitutes untrusted parameters such as usernames into translation templates before parsing the result as markdown. Grav's server-side username validation (DataUser::isValidUsername) blocks filesystem-dangerous characters but not <, >, ", or ', allowing an attacker to register a username containing an HTML payload. When an administrator views a UI surface that renders the username through tHtml()βsuch as the two-factor force-disable confirmation prompt or the 'page is locked' editor noticeβthe payload executes in their authenticated session. Fixed in 2.0.21.
π@cveNotify
Grav Admin (getgrav/grav-plugin-admin2) versions <= 2.0.19 contain a stored cross-site scripting vulnerability in the tHtml() function (src/lib/stores/i18n.svelte.ts), which substitutes untrusted parameters such as usernames into translation templates before parsing the result as markdown. Grav's server-side username validation (DataUser::isValidUsername) blocks filesystem-dangerous characters but not <, >, ", or ', allowing an attacker to register a username containing an HTML payload. When an administrator views a UI surface that renders the username through tHtml()βsuch as the two-factor force-disable confirmation prompt or the 'page is locked' editor noticeβthe payload executes in their authenticated session. Fixed in 2.0.21.
π@cveNotify
GitHub
Stored XSS via username/display name: tHtml() interpolates untrusted values into a template before markdown-parsing it, and usernamesβ¦
`i18n.tHtml(key, params)` looks up a translation string, substitutes `params` into it (e.g. replacing `{username}` with the actual username), and *then* runs the whole resulting string through `mar...
π¨ CVE-2026-85601
Grav Admin before 2.0.20 fails to sanitize output from marked.parse() before injecting it into the DOM via Svelte's {@html} directive in MarkdownEditor and MarkdownModal components. Attackers can inject javascript: URI schemes in plugin or theme changelogs to execute arbitrary code in authenticated admin sessions without requiring site access.
π@cveNotify
Grav Admin before 2.0.20 fails to sanitize output from marked.parse() before injecting it into the DOM via Svelte's {@html} directive in MarkdownEditor and MarkdownModal components. Attackers can inject javascript: URI schemes in plugin or theme changelogs to execute arbitrary code in authenticated admin sessions without requiring site access.
π@cveNotify
GitHub
Unsanitized marked.js output injected via {@html} in MarkdownEditor and MarkdownModal, javascript: URI XSS, one path reachableβ¦
`MarkdownEditor.svelte` (the live preview pane in the page content editor) and `MarkdownModal.svelte` (a reusable modal used to show plugin/theme changelogs and update notes) both call `marked.pars...
π¨ CVE-2026-85602
The Grav Form plugin (getgrav/grav-plugin-form) versions 8.0.6 through 9.1.19 select the reCAPTCHA version to validate based solely on which response field key is present in the submitted payload. On a site configured for reCAPTCHA v3, an anonymous attacker can place their v3 token under the v2 field name (g-recaptcha-response instead of token), causing validation to use the v2 branch, which never applies the score threshold or verifies the expected action. This results in a complete bypass of reCAPTCHA v3 bot protection. The issue is fixed in version 9.1.20.
π@cveNotify
The Grav Form plugin (getgrav/grav-plugin-form) versions 8.0.6 through 9.1.19 select the reCAPTCHA version to validate based solely on which response field key is present in the submitted payload. On a site configured for reCAPTCHA v3, an anonymous attacker can place their v3 token under the v2 field name (g-recaptcha-response instead of token), causing validation to use the v2 branch, which never applies the score threshold or verifies the expected action. This results in a complete bypass of reCAPTCHA v3 bot protection. The issue is fixed in version 9.1.20.
π@cveNotify
GitHub
reCAPTCHA v3 score threshold skipped when the submitted payload names the v2 response field
## Summary
The captcha provider decides which reCAPTCHA version to validate by looking at which key the submitter put in
the payload. An anonymous attacker on a site configured for v3 can move ...
The captcha provider decides which reCAPTCHA version to validate by looking at which key the submitter put in
the payload. An anonymous attacker on a site configured for v3 can move ...
π¨ CVE-2026-85603
Grav versions before 1.10.55 contain a path traversal vulnerability in the admin plugin's Save As action that fails to validate the language code parameter. An authenticated admin user with admin.pages.create permission can supply directory traversal sequences in the lang POST field to write arbitrary .md files outside the pages directory with attacker-controlled content.
π@cveNotify
Grav versions before 1.10.55 contain a path traversal vulnerability in the admin plugin's Save As action that fails to validate the language code parameter. An authenticated admin user with admin.pages.create permission can supply directory traversal sequences in the lang POST field to write arbitrary .md files outside the pages directory with attacker-controlled content.
π@cveNotify
GitHub
Admin plugin "Save As" writes .md files outside the pages tree via unvalidated language code
1. Summary
The Grav admin "Save As" action (taskSaveas) builds the destination page-file path from the attacker-controlled
POST field data[lang] without validation. determineFilenameInc...
The Grav admin "Save As" action (taskSaveas) builds the destination page-file path from the attacker-controlled
POST field data[lang] without validation. determineFilenameInc...
π¨ CVE-2026-85604
Grav before 2.0.19 (affected versions <= 2.0.17) contains a remote code execution vulnerability in the Twig sort filter. The sortFunc wrapper in GravExtension.php hardcodes Twig's isSandboxed argument to false, so unlike |map/|filter/|reduce, |sort accepts a plain function name inside the sandbox; the remaining denylist misses spl_autoload, which performs a PHP include. An authenticated user with only page-write rights (admin.pages or api.pages.write) can supply a crafted payload (e.g., via form frontmatter rendered by the Email plugin) that invokes spl_autoload through the sort filter, resulting in arbitrary PHP execution as the web server user.
π@cveNotify
Grav before 2.0.19 (affected versions <= 2.0.17) contains a remote code execution vulnerability in the Twig sort filter. The sortFunc wrapper in GravExtension.php hardcodes Twig's isSandboxed argument to false, so unlike |map/|filter/|reduce, |sort accepts a plain function name inside the sandbox; the remaining denylist misses spl_autoload, which performs a PHP include. An authenticated user with only page-write rights (admin.pages or api.pages.write) can supply a crafted payload (e.g., via form frontmatter rendered by the Email plugin) that invokes spl_autoload through the sort filter, resulting in arbitrary PHP execution as the web server user.
π@cveNotify
GitHub
sort() passes isSandboxed=false, so a page editor can call arbitrary PHP functions through the Twig sandbox
## Summary
The `sortFunc` wrapper added by the fix for GHSA-xx48-97m4-h7qm hardcodes Twig's `$isSandboxed` argument to
`false`. That flag is the only thing that enforces Twig's Closure-...
The `sortFunc` wrapper added by the fix for GHSA-xx48-97m4-h7qm hardcodes Twig's `$isSandboxed` argument to
`false`. That flag is the only thing that enforces Twig's Closure-...
π¨ CVE-2026-85609
Openpanel before 2.3.0 contains an unauthenticated full-read server-side request forgery (SSRF) vulnerability in the GET /tools/site-checker endpoint (apps/api/src/controllers/tools.controller.ts). The endpoint passes a user-supplied url query parameter to fetchWithRedirects() and performs server-side HTTP requests to arbitrary URLs without any SSRF/IP validation. An unauthenticated remote attacker can access cloud instance metadata endpoints, probe internal services, scan internal network ports, and read returned content (status code, page size, timing, and parsed HTML metadata), and leak internal IP addresses (via getIPInfo() to a third party).
π@cveNotify
Openpanel before 2.3.0 contains an unauthenticated full-read server-side request forgery (SSRF) vulnerability in the GET /tools/site-checker endpoint (apps/api/src/controllers/tools.controller.ts). The endpoint passes a user-supplied url query parameter to fetchWithRedirects() and performs server-side HTTP requests to arbitrary URLs without any SSRF/IP validation. An unauthenticated remote attacker can access cloud instance metadata endpoints, probe internal services, scan internal network ports, and read returned content (status code, page size, timing, and parsed HTML metadata), and leak internal IP addresses (via getIPInfo() to a third party).
π@cveNotify
GitHub
Unauthenticated Full-Read SSRF via Site Checker Endpoint
# Unauthenticated Full-Read SSRF via Site Checker Endpoint
## Summary
The `GET /tools/site-checker?url=` endpoint performs server-side HTTP requests to arbitrary user-controlled URLs without ...
## Summary
The `GET /tools/site-checker?url=` endpoint performs server-side HTTP requests to arbitrary user-controlled URLs without ...
π¨ CVE-2026-85610
OpenPanel before 2.3.0 fails to properly validate chart formula expressions, allowing authenticated project members with read access to execute arbitrary code by recovering the native JavaScript Function constructor through mathjs matrix objects. Attackers can use the recovered constructor to load Node.js built-ins and execute operating system commands with the privileges of the API process, bypassing organization authorization boundaries.
π@cveNotify
OpenPanel before 2.3.0 fails to properly validate chart formula expressions, allowing authenticated project members with read access to execute arbitrary code by recovering the native JavaScript Function constructor through mathjs matrix objects. Attackers can use the recovered constructor to load Node.js built-ins and execute operating system commands with the privileges of the API process, bypassing organization authorization boundaries.
π@cveNotify
GitHub
Read-level project member can execute arbitrary code through OpenPanel chart formulas
## Triage summary
- Component: OpenPanel API
- Endpoint: `GET /api/trpc/chart.chart`
- Affected source: supported `main` commit `f72310c335732ebf4fb44b375e10d362980da593`
- Affected code: `pa...
- Component: OpenPanel API
- Endpoint: `GET /api/trpc/chart.chart`
- Affected source: supported `main` commit `f72310c335732ebf4fb44b375e10d362980da593`
- Affected code: `pa...
π¨ CVE-2026-85611
OpenPanel before 2.3.0 contains a cross-tenant broken object level authorization vulnerability in the report.getLayouts and report.resetLayout tRPC procedures that fail to scope dashboard queries to the caller's project. Authenticated attackers can supply their own projectId with a victim organization's guessable dashboardId to read confidential report definitions or permanently delete dashboard layouts across tenant boundaries.
π@cveNotify
OpenPanel before 2.3.0 contains a cross-tenant broken object level authorization vulnerability in the report.getLayouts and report.resetLayout tRPC procedures that fail to scope dashboard queries to the caller's project. Authenticated attackers can supply their own projectId with a victim organization's guessable dashboardId to read confidential report definitions or permanently delete dashboard layouts across tenant boundaries.
π@cveNotify
GitHub
Cross-tenant BOLA in report.getLayouts and report.resetLayout: cross-organization dashboard report read and destructive layoutβ¦
## Summary
Two authenticated tRPC procedures in the OpenPanel API, `report.getLayouts` and `report.resetLayout`, are missing the tenant/project scope predicate that their sibling procedures enfo...
Two authenticated tRPC procedures in the OpenPanel API, `report.getLayouts` and `report.resetLayout`, are missing the tenant/project scope predicate that their sibling procedures enfo...
π¨ CVE-2026-85612
OpenPanel before 2.3.0 contains an unauthenticated server-side request forgery vulnerability in the /misc/favicon and /misc/og endpoints that accept an attacker-supplied url parameter with insufficient validation. Attackers can force the API to fetch arbitrary internal hosts and cloud metadata endpoints, with small responses returned verbatim enabling credential theft and internal service enumeration.
π@cveNotify
OpenPanel before 2.3.0 contains an unauthenticated server-side request forgery vulnerability in the /misc/favicon and /misc/og endpoints that accept an attacker-supplied url parameter with insufficient validation. Attackers can force the API to fetch arbitrary internal hosts and cloud metadata endpoints, with small responses returned verbatim enabling credential theft and internal service enumeration.
π@cveNotify
GitHub
Unauthenticated Server-Side Request Forgery (SSRF) in the favicon/OG image proxy via fetchImage()
### Summary
The `/misc/favicon` and `/misc/og` API endpoints take an attacker-supplied `url` parameter and fetch it server-side, with no authentication and no protection against internal/private...
The `/misc/favicon` and `/misc/og` API endpoints take an attacker-supplied `url` parameter and fetch it server-side, with no authentication and no protection against internal/private...
π¨ CVE-2026-85613
OpenPanel before 2.3.0 contains a cross-site scripting vulnerability in the unauthenticated favicon proxy endpoint GET /misc/favicon that allows remote attackers to execute scripts by supplying an SVG file URL. Attackers can host malicious SVG files with embedded scripts that execute in the victim's browser on the API origin, enabling same-origin credentialed requests to authenticated endpoints.
π@cveNotify
OpenPanel before 2.3.0 contains a cross-site scripting vulnerability in the unauthenticated favicon proxy endpoint GET /misc/favicon that allows remote attackers to execute scripts by supplying an SVG file URL. Attackers can host malicious SVG files with embedded scripts that execute in the victim's browser on the API origin, enabling same-origin credentialed requests to authenticated endpoints.
π@cveNotify
GitHub
Unauthenticated XSS via SVG-inline favicon proxy (GET /misc/favicon?url=)
The OpenPanel API exposes an unauthenticated favicon-proxy endpoint `GET /misc/favicon?url=<url>` (apps/api/src/routes/misc.router.ts -> getFavicon in apps/api/src/controllers/misc.control...
π¨ CVE-2026-85614
OpenPanel before 2.3.0 contains an unauthenticated server-side request forgery vulnerability in the GET /tools/site-checker endpoint that accepts a fully client-controlled URL parameter with no private IP filtering or DNS-rebinding protection. Attackers can make the OpenPanel server issue requests to internal services, localhost, and cloud metadata endpoints, reading internal HTTP response titles, headers, status codes, and SSL certificate information.
π@cveNotify
OpenPanel before 2.3.0 contains an unauthenticated server-side request forgery vulnerability in the GET /tools/site-checker endpoint that accepts a fully client-controlled URL parameter with no private IP filtering or DNS-rebinding protection. Attackers can make the OpenPanel server issue requests to internal services, localhost, and cloud metadata endpoints, reading internal HTTP response titles, headers, status codes, and SSL certificate information.
π@cveNotify
GitHub
Unauthenticated SSRF in OpenPanel API site-checker (GET /tools/site-checker?url=)
## Summary
The OpenPanel API exposes an unauthenticated SEO "site checker" endpoint (`GET /tools/site-checker?url=`) that fetches an arbitrary, fully client-controlled URL server-side and...
The OpenPanel API exposes an unauthenticated SEO "site checker" endpoint (`GET /tools/site-checker?url=`) that fetches an arbitrary, fully client-controlled URL server-side and...
π¨ CVE-2026-85616
Snipe-IT versions before 8.6.2 contain an authorization bypass vulnerability in checkout-acceptance report actions when Full Multiple Company Support is enabled. Authenticated users with reports.view permission can enumerate sequential acceptance IDs and soft-delete or trigger reminder emails for acceptances belonging to other companies by exploiting a null check on the legacy users.company_id column.
π@cveNotify
Snipe-IT versions before 8.6.2 contain an authorization bypass vulnerability in checkout-acceptance report actions when Full Multiple Company Support is enabled. Authenticated users with reports.view permission can enumerate sequential acceptance IDs and soft-delete or trigger reminder emails for acceptances belonging to other companies by exploiting a null check on the legacy users.company_id column.
π@cveNotify
GitHub
FMCS Bypass on Checkout-Acceptance Report Actions (Cross-Company Delete + Reminder Send)
When Full Multiple Company Support (FMCS) was enabled, two checkout-acceptance report actions read the legacy scalar `users.company_id` column to decide whether the caller was allowed to touch a sp...
π¨ CVE-2026-85617
snipe-it versions before 8.6.3 contain an authorization bypass vulnerability in the bulk delete functionality that allows restricted users to soft-delete users outside their authorized scope. Attackers can include unauthorized user IDs in bulk delete requests to bypass instance-level restrictions and modify or disable accounts they should not access.
π@cveNotify
snipe-it versions before 8.6.3 contain an authorization bypass vulnerability in the bulk delete functionality that allows restricted users to soft-delete users outside their authorized scope. Attackers can include unauthorized user IDs in bulk delete requests to bypass instance-level restrictions and modify or disable accounts they should not access.
π@cveNotify
GitHub
Bulk User Delete Authorization Bypass
### Impact:
A restricted user can soft-delete users outside their authorized scope (such as users in other companies or higher-privileged users). This leads to unauthorized data modification and ...
A restricted user can soft-delete users outside their authorized scope (such as users in other companies or higher-privileged users). This leads to unauthorized data modification and ...
π¨ CVE-2026-22029
React Router is a router for React. In @remix-run/router version prior to 1.23.2 and react-router 7.0.0 through 7.11.0, React Router (and Remix v1/v2) SPA open navigation redirects originating from loaders or actions in Framework Mode, Data Mode, or the unstable RSC modes can result in unsafe URLs causing unintended javascript execution on the client. This is only an issue if you are creating redirect paths from untrusted content or via an open redirect. There is no impact if Declarative Mode (<BrowserRouter>) is being used. This issue has been patched in @remix-run/router version 1.23.2 and react-router version 7.12.0.
π@cveNotify
React Router is a router for React. In @remix-run/router version prior to 1.23.2 and react-router 7.0.0 through 7.11.0, React Router (and Remix v1/v2) SPA open navigation redirects originating from loaders or actions in Framework Mode, Data Mode, or the unstable RSC modes can result in unsafe URLs causing unintended javascript execution on the client. This is only an issue if you are creating redirect paths from untrusted content or via an open redirect. There is no impact if Declarative Mode (<BrowserRouter>) is being used. This issue has been patched in @remix-run/router version 1.23.2 and react-router version 7.12.0.
π@cveNotify
GitHub
XSS via Open Redirects
React Router (and Remix v1/v2) SPA open navigation redirects originating from loaders or actions in [Framework Mode](https://reactrouter.com/start/modes#framework), [Data Mode](https://reactrouter....
π¨ CVE-2025-13465
Lodash versions 4.0.0 through 4.17.22 are vulnerable to prototype pollution in the _.unset and _.omit functions. An attacker can pass crafted paths which cause Lodash to delete methods from global prototypes.
The issue permits deletion of properties but does not allow overwriting their original behavior.
This issue is patched on 4.17.23
π@cveNotify
Lodash versions 4.0.0 through 4.17.22 are vulnerable to prototype pollution in the _.unset and _.omit functions. An attacker can pass crafted paths which cause Lodash to delete methods from global prototypes.
The issue permits deletion of properties but does not allow overwriting their original behavior.
This issue is patched on 4.17.23
π@cveNotify
GitHub
Prototype Pollution Vulnerability in Lodash `_.unset` and `_.omit` functions
### Impact
Lodash versions 4.0.0 through 4.17.22 are vulnerable to prototype pollution in the `_.unset` and `_.omit` functions. An attacker can pass crafted paths which cause Lodash to delete me...
Lodash versions 4.0.0 through 4.17.22 are vulnerable to prototype pollution in the `_.unset` and `_.omit` functions. An attacker can pass crafted paths which cause Lodash to delete me...
π¨ CVE-2025-61140
The value function in jsonpath 1.1.1 lib/index.js is vulnerable to Prototype Pollution.
π@cveNotify
The value function in jsonpath 1.1.1 lib/index.js is vulnerable to Prototype Pollution.
π@cveNotify
Gist
CVE-2025-61140
GitHub Gist: instantly share code, notes, and snippets.
π¨ CVE-2025-61726
The net/url package does not set a limit on the number of query parameters in a query. While the maximum size of query parameters in URLs is generally limited by the maximum request header size, the net/http.Request.ParseForm method can parse large URL-encoded forms. Parsing a large form containing many unique query parameters can cause excessive memory consumption.
π@cveNotify
The net/url package does not set a limit on the number of query parameters in a query. While the maximum size of query parameters in URLs is generally limited by the maximum request header size, the net/http.Request.ParseForm method can parse large URL-encoded forms. Parsing a large form containing many unique query parameters can cause excessive memory consumption.
π@cveNotify
π¨ CVE-2026-25639
Axios is a promise based HTTP client for the browser and Node.js. Prior to versions 0.30.3 and 1.13.5, the mergeConfig function in axios crashes with a TypeError when processing configuration objects containing __proto__ as an own property. An attacker can trigger this by providing a malicious configuration object created via JSON.parse(), causing complete denial of service. This vulnerability is fixed in versions 0.30.3 and 1.13.5.
π@cveNotify
Axios is a promise based HTTP client for the browser and Node.js. Prior to versions 0.30.3 and 1.13.5, the mergeConfig function in axios crashes with a TypeError when processing configuration objects containing __proto__ as an own property. An attacker can trigger this by providing a malicious configuration object created via JSON.parse(), causing complete denial of service. This vulnerability is fixed in versions 0.30.3 and 1.13.5.
π@cveNotify
GitHub
fix: Denial of Service via __proto__ Key in mergeConfig (#7369) Β· axios/axios@28c7215
* fix: sec issue as per advisory
* chore: expand and add tests
* chore: expand and add tests
π¨ CVE-2026-29063
Immutable.js provides many Persistent Immutable data structures. Prior to versions 3.8.3, 4.3.7, and 5.1.5, Prototype Pollution is possible in immutable via the mergeDeep(), mergeDeepWith(), merge(), Map.toJS(), and Map.toObject() APIs. This issue has been patched in versions 3.8.3, 4.3.7, and 5.1.5.
π@cveNotify
Immutable.js provides many Persistent Immutable data structures. Prior to versions 3.8.3, 4.3.7, and 5.1.5, Prototype Pollution is possible in immutable via the mergeDeep(), mergeDeepWith(), merge(), Map.toJS(), and Map.toObject() APIs. This issue has been patched in versions 3.8.3, 4.3.7, and 5.1.5.
π@cveNotify
GitHub
Release v3.8.3 Β· immutable-js/immutable-js
Fix Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution') in immutable
π¨ CVE-2026-25679
url.Parse insufficiently validated the host/authority component and accepted some invalid URLs.
π@cveNotify
url.Parse insufficiently validated the host/authority component and accepted some invalid URLs.
π@cveNotify