Every CVE Search/ Get API key

CVE-2026-41305

PostCSS has XSS via Unescaped </style> in its CSS Stringify Output

6.1 MediumFix available

PostCSS takes a CSS file and provides an API to analyze and modify its rules by transforming the rules into an Abstract Syntax Tree. Versions prior to 8.5.10 do not escape </style> sequences when stringifying CSS ASTs. When user-submitted CSS is parsed and re-stringified for embedding in HTML <style> tags, </style> in CSS values breaks out of the style context, enabling XSS. Version 8.5.10 fixes the issue.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
Required

What an attacker can affect

Confidentiality
Low
Integrity
Low
Availability
None

Exploit likelihood

0.21%Up 0.2 points since Apr 24, 2026
90%50%10%1%

What each source reports

CVE List Score used 6.1

PostCSS has XSS via Unescaped </style> in its CSS Stringify Output

PostCSS takes a CSS file and provides an API to analyze and modify its rules by transforming the rules into an Abstract Syntax Tree. Versions prior to 8.5.10 do not escape </style> sequences when stringifying CSS ASTs. When user-submitted CSS is parsed and re-stringified for embedding in HTML <style> tags, </style> in CSS values breaks out of the style context, enabling XSS. Version 8.5.10 fixes the issue.

Record
CVE-2026-41305
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
EUVDEUVD-2026-25383 6.1

PostCSS takes a CSS file and provides an API to analyze and modify its rules by transforming the rules into an Abstract Syntax Tree. Versions prior to 8.5.10 do not escape </style> sequences when stringifying CSS ASTs. When user-submitted CSS is parsed and re-stringified for embedding in HTML <style> tags, </style> in CSS values breaks out of the style context, enabling XSS. Version 8.5.10 fixes the issue.

Record
EUVD-2026-25383
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-c9cv-mq2m-ppp3 5.1

Nuxt: URL-handling weaknesses in `navigateTo` and `reloadNuxtApp`: SSR open redirect, client-side script execution via the `open` option, and protocol-relative bypass in `reloadNuxtApp`

Summary

Three weaknesses in Nuxt's client-navigation URL handling, all reachable from documented public APIs (navigateTo and reloadNuxtApp):

  1. (CVE-2026-56326) SSR open redirect in navigateTo via path-normalisation bypass. navigateTo decided whether a target was external by inspecting the raw input with hasProtocol(..., { acceptRelative: true }). Inputs such as /..//evil.com, /.//evil.com, /%2e%2e//evil.com, or /app/..//evil.com slipped past that check because they start with /, but WHATWG URL parsing then normalised them to the protocol-relative pathname //evil.com. The normalised value was written to the Location response header and into the <meta http-equiv="refresh"> body of the SSR redirect page, so a victim's browser would resolve the redirect cross-origin to the attacker's host.

  2. (CVE-2026-56698) Client-side script execution via navigateTo({ open: ... }). The client-side early-open handler called window.open(toPath, ...) without applying the isScriptProtocol check that gates the normal navigateTo path. A target of javascript:... (or another script-capable scheme) passed to navigateTo(url, { open: { ... } }) therefore executed in the application's origin instead of being rejected.

  3. (CVE-2026-56697) Open redirect in reloadNuxtApp via protocol-relative bypass. reloadNuxtApp({ path }) rejects script-capable protocols by parsing the path with new URL(path, window.location.href) and checking the resolved protocol against isScriptProtocol. Protocol-relative paths such as //evil.com resolve to the current page's protocol (https:), which passes that check; the value is then assigned to window.location.href, which the browser treats as a cross-origin redirect. This is the same protocol-relative bypass family as (1), in a different sink.

Impact

For (1), the practical risk is phishing or OAuth-code theft against any Nuxt app that forwards user-controlled input (for example a ?next= query parameter on a login route) into navigateTo on the server. The framework documents that navigateTo blocks external hosts unless external: true is passed, so maintainers commonly rely on it as the safe path for post-login redirects.

For (2), any app that passes a user-controlled URL into navigateTo(url, { open: { ... } }) was vulnerable to reflected XSS in the application's first-party origin.

For (3), any app that forwards user-controlled input into reloadNuxtApp({ path }) could be redirected cross-origin for phishing or OAuth-code theft, even on releases that already shipped the isScriptProtocol guard added by #35115.

Patches

Fixed in [email protected] and backported to [email protected]. The three sinks are addressed by:

Workarounds

  • For (1): validate redirect targets before passing them to navigateTo, for example reject any input where new URL(target, 'http://localhost').pathname starts with //, or only accept a known allow-list of paths.
  • For (2): reject any user-controlled URL whose protocol is…
Record
GHSA-c9cv-mq2m-ppp3
CVSS 4.0
5.1 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:L/VI:L/VA:N/SC:N/SI:L/SA:N
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-79, CWE-601
Updated
2026-11-02
GitHub AdvisoriesGHSA-qx2v-qp2m-jg93 6.1

PostCSS has XSS via Unescaped </style> in its CSS Stringify Output

PostCSS: XSS via Unescaped </style> in CSS Stringify Output

Summary

PostCSS v8.5.5 (latest) does not escape </style> sequences when stringifying CSS ASTs. When user-submitted CSS is parsed and re-stringified for embedding in HTML <style> tags, </style> in CSS values breaks out of the style context, enabling XSS.

Proof of Concept

const postcss = require('postcss');

// Parse user CSS and re-stringify for page embedding
const userCSS = 'body { content: "</style><script>alert(1)</script><style>"; }';
const ast = postcss.parse(userCSS);
const output = ast.toResult().css;
const html = `<style>${output}</style>`;

console.log(html);
// <style>body { content: "</style><script>alert(1)</script><style>"; }</style>
//
// Browser: </style> closes the style tag, <script> executes

Tested output (Node.js v22, postcss v8.5.5):

Input: body { content: "</style><script>alert(1)</script><style>"; }
Output: body { content: "</style><script>alert(1)</script><style>"; }
Contains </style>: true

Impact

Impact non-bundler use cases since bundlers for XSS on their own. Requires some PostCSS plugin to have malware code, which can inject XSS to website.

Suggested Fix

Escape </style in all stringified output values:

output = output.replace(/<\/(style)/gi, '<\\/$1');

Credits

Discovered and reported by Sunil Kumar (@TharVid)

Record
GHSA-qx2v-qp2m-jg93
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
GitHub AdvisoriesGHSA-rq7w-g337-39qq 2.3

Nuxt: Dev server discloses project absolute path and persistent workspace UUID via `/.well-known/appspecific/com.chrome.devtools.json`

Summary

When running nuxt dev, Nuxt registers an unauthenticated route at /.well-known/appspecific/com.chrome.devtools.json that returns the absolute filesystem path of the project root and a per-project UUID persisted to node_modules/.cache/nuxt/chrome-workspace.json. The route is enabled by default via experimental.chromeDevtoolsProjectSettings: true.

The endpoint exists to let Chrome DevTools' Workspace integration map sources to the developer's local checkout. The handler is registered directly on nitro.options.devHandlers and does not pass through the CORS / origin wrapper that the rest of the dev pipeline uses, so it has no host / origin / Sec-Fetch-Site check of its own.

Impact

Dev-server only. Production builds do not register the route.

Two values are disclosed:

  • workspace.root: the absolute filesystem path of the project (commonly reveals the OS username and the on-disk project name).
  • workspace.uuid: a v4 UUID persisted to node_modules/.cache/nuxt/chrome-workspace.json, stable across dev-server restarts and re-clones.

Threat model

The response carries no Access-Control-Allow-Origin header. A cross-origin fetch() from an arbitrary malicious page is therefore blocked by the browser's same-origin policy and cannot read the body. The two realistic recovery paths are:

  1. LAN-adjacent attacker when the developer runs nuxt dev --host (or otherwise binds to a non-loopback interface). A plain curl http://<dev-lan-ip>:3000/.well-known/appspecific/com.chrome.devtools.json returns the JSON; no browser, no CORS.
  2. DNS rebinding against the default loopback dev server. A page the developer visits resolves to the attacker, then re-resolves to 127.0.0.1 after the TTL; the browser believes the request is same-origin and reads the response.

Affected versions

[email protected] (PR #32084) through [email protected]. 3.x is not affected.

Reproduction

npx nuxt dev
curl -s http://localhost:3000/.well-known/appspecific/com.chrome.devtools.json
# {"workspace":{"uuid":"...","root":"/Users/<name>/..."}}

Workaround

Set experimental: { chromeDevtoolsProjectSettings: false } in nuxt.config.ts. Chrome DevTools' Workspace auto-integration will stop working; the dev server is otherwise unaffected.

Patches

Fixed in [email protected] by #35201 (commit 55c75b78). The handler is now routed through the same host / origin gate the rest of the dev server uses, so the endpoint only responds to requests that look local.

Record
GHSA-rq7w-g337-39qq
CVSS 4.0
2.3 LowCVSS:4.0/AV:A/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Weakness
CWE-200
Updated
2026-11-02
NVD 6.1

PostCSS takes a CSS file and provides an API to analyze and modify its rules by transforming the rules into an Abstract Syntax Tree. Versions prior to 8.5.10 do not escape </style> sequences when stringifying CSS ASTs. When user-submitted CSS is parsed and re-stringified for embedding in HTML <style> tags, </style> in CSS values breaks out of the style context, enabling XSS. Version 8.5.10 fixes the issue.

Record
CVE-2026-41305
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
Show 45 moreShow less
OSV 6.1

PostCSS has XSS via Unescaped </style> in its CSS Stringify Output

PostCSS takes a CSS file and provides an API to analyze and modify its rules by transforming the rules into an Abstract Syntax Tree. Versions prior to 8.5.10 do not escape </style> sequences when stringifying CSS ASTs. When user-submitted CSS is parsed and re-stringified for embedding in HTML <style> tags, </style> in CSS values breaks out of the style context, enabling XSS. Version 8.5.10 fixes the issue.

Record
CVE-2026-41305
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
OSVCVE-2026-56326 5.3

Nuxt - Server-Side Open Redirect via Path-Normalization Bypass in navigateTo

Nuxt versions 4.0.0 before 4.4.7 and 3.x before 3.21.7 contain a server-side open redirect vulnerability in navigateTo that fails to properly validate path-normalized payloads like /..//evil.com and /.//evil.com. Attackers can bypass external-host checks using path-normalization techniques to redirect users to attacker-controlled sites via the Location header or meta-refresh, enabling phishing and OAuth authorization-code theft.

Record
CVE-2026-56326
CVSS 4.0
5.3 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
Weakness
CWE-601
Updated
2026-11-02
OSVCVE-2026-56697 5.3

Nuxt - Open Redirect via Protocol-Relative Paths in reloadNuxtApp

Nuxt versions 4.0.0 before 4.4.7 and 3.x before 3.21.7 accept protocol-relative paths such as //evil.com in the reloadNuxtApp function; these pass the script-protocol check but resolve to a cross-origin URL against the current page protocol. Attackers can inject paths like //evil.com to redirect users to attacker-controlled hosts, enabling phishing and OAuth authorization-code theft.

Record
CVE-2026-56697
CVSS 4.0
5.3 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
Weakness
CWE-601
Updated
2026-11-02
OSVCVE-2026-56698 5.3

Nuxt - Cross-Site Scripting via navigateTo open Option

Nuxt versions 4.0.0 before 4.4.7 and 3.x before 3.21.7 fail to validate script-capable URLs in the navigateTo open option, allowing client-side script execution. Attackers can supply javascript: URLs through the open parameter to execute arbitrary scripts in the application's origin when user-controlled input is passed to navigateTo.

Record
CVE-2026-56698
CVSS 4.0
5.3 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
Weakness
CWE-79
Updated
2026-11-02
OSVDEBIAN-CVE-2026-41305 6.1

PostCSS takes a CSS file and provides an API to analyze and modify its rules by transforming the rules into an Abstract Syntax Tree. Versions prior to 8.5.10 do not escape </style> sequences when stringifying CSS ASTs. When user-submitted CSS is parsed and re-stringified for embedding in HTML <style> tags, </style> in CSS values breaks out of the style context, enabling XSS. Version 8.5.10 fixes the issue.

Record
DEBIAN-CVE-2026-41305
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Updated
2026-11-02
OSVGHSA-c9cv-mq2m-ppp3 5.1

Nuxt: URL-handling weaknesses in `navigateTo` and `reloadNuxtApp`: SSR open redirect, client-side script execution via the `open` option, and protocol-relative bypass in `reloadNuxtApp`

Summary

Three weaknesses in Nuxt's client-navigation URL handling, all reachable from documented public APIs (navigateTo and reloadNuxtApp):

  1. (CVE-2026-56326) SSR open redirect in navigateTo via path-normalisation bypass. navigateTo decided whether a target was external by inspecting the raw input with hasProtocol(..., { acceptRelative: true }). Inputs such as /..//evil.com, /.//evil.com, /%2e%2e//evil.com, or /app/..//evil.com slipped past that check because they start with /, but WHATWG URL parsing then normalised them to the protocol-relative pathname //evil.com. The normalised value was written to the Location response header and into the <meta http-equiv="refresh"> body of the SSR redirect page, so a victim's browser would resolve the redirect cross-origin to the attacker's host.

  2. (CVE-2026-56698) Client-side script execution via navigateTo({ open: ... }). The client-side early-open handler called window.open(toPath, ...) without applying the isScriptProtocol check that gates the normal navigateTo path. A target of javascript:... (or another script-capable scheme) passed to navigateTo(url, { open: { ... } }) therefore executed in the application's origin instead of being rejected.

  3. (CVE-2026-56697) Open redirect in reloadNuxtApp via protocol-relative bypass. reloadNuxtApp({ path }) rejects script-capable protocols by parsing the path with new URL(path, window.location.href) and checking the resolved protocol against isScriptProtocol. Protocol-relative paths such as //evil.com resolve to the current page's protocol (https:), which passes that check; the value is then assigned to window.location.href, which the browser treats as a cross-origin redirect. This is the same protocol-relative bypass family as (1), in a different sink.

Impact

For (1), the practical risk is phishing or OAuth-code theft against any Nuxt app that forwards user-controlled input (for example a ?next= query parameter on a login route) into navigateTo on the server. The framework documents that navigateTo blocks external hosts unless external: true is passed, so maintainers commonly rely on it as the safe path for post-login redirects.

For (2), any app that passes a user-controlled URL into navigateTo(url, { open: { ... } }) was vulnerable to reflected XSS in the application's first-party origin.

For (3), any app that forwards user-controlled input into reloadNuxtApp({ path }) could be redirected cross-origin for phishing or OAuth-code theft, even on releases that already shipped the isScriptProtocol guard added by #35115.

Patches

Fixed in [email protected] and backported to [email protected]. The three sinks are addressed by:

Workarounds

  • For (1): validate redirect targets before passing them to navigateTo, for example reject any input where new URL(target, 'http://localhost').pathname starts with //, or only accept a known allow-list of paths.
  • For (2): reject any user-controlled URL whose protocol is…
Record
GHSA-c9cv-mq2m-ppp3
CVSS 4.0
5.1 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:L/VI:L/VA:N/SC:N/SI:L/SA:N
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-601, CWE-79
Updated
2026-11-02
OSVGHSA-qx2v-qp2m-jg93 6.1

PostCSS has XSS via Unescaped </style> in its CSS Stringify Output

PostCSS: XSS via Unescaped </style> in CSS Stringify Output

Summary

PostCSS v8.5.5 (latest) does not escape </style> sequences when stringifying CSS ASTs. When user-submitted CSS is parsed and re-stringified for embedding in HTML <style> tags, </style> in CSS values breaks out of the style context, enabling XSS.

Proof of Concept

const postcss = require('postcss');

// Parse user CSS and re-stringify for page embedding
const userCSS = 'body { content: "</style><script>alert(1)</script><style>"; }';
const ast = postcss.parse(userCSS);
const output = ast.toResult().css;
const html = `<style>${output}</style>`;

console.log(html);
// <style>body { content: "</style><script>alert(1)</script><style>"; }</style>
//
// Browser: </style> closes the style tag, <script> executes

Tested output (Node.js v22, postcss v8.5.5):

Input: body { content: "</style><script>alert(1)</script><style>"; }
Output: body { content: "</style><script>alert(1)</script><style>"; }
Contains </style>: true

Impact

Impact non-bundler use cases since bundlers for XSS on their own. Requires some PostCSS plugin to have malware code, which can inject XSS to website.

Suggested Fix

Escape </style in all stringified output values:

output = output.replace(/<\/(style)/gi, '<\\/$1');

Credits

Discovered and reported by Sunil Kumar (@TharVid)

Record
GHSA-qx2v-qp2m-jg93
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
OSVGHSA-rq7w-g337-39qq 2.3

Nuxt: Dev server discloses project absolute path and persistent workspace UUID via `/.well-known/appspecific/com.chrome.devtools.json`

Summary

When running nuxt dev, Nuxt registers an unauthenticated route at /.well-known/appspecific/com.chrome.devtools.json that returns the absolute filesystem path of the project root and a per-project UUID persisted to node_modules/.cache/nuxt/chrome-workspace.json. The route is enabled by default via experimental.chromeDevtoolsProjectSettings: true.

The endpoint exists to let Chrome DevTools' Workspace integration map sources to the developer's local checkout. The handler is registered directly on nitro.options.devHandlers and does not pass through the CORS / origin wrapper that the rest of the dev pipeline uses, so it has no host / origin / Sec-Fetch-Site check of its own.

Impact

Dev-server only. Production builds do not register the route.

Two values are disclosed:

  • workspace.root: the absolute filesystem path of the project (commonly reveals the OS username and the on-disk project name).
  • workspace.uuid: a v4 UUID persisted to node_modules/.cache/nuxt/chrome-workspace.json, stable across dev-server restarts and re-clones.

Threat model

The response carries no Access-Control-Allow-Origin header. A cross-origin fetch() from an arbitrary malicious page is therefore blocked by the browser's same-origin policy and cannot read the body. The two realistic recovery paths are:

  1. LAN-adjacent attacker when the developer runs nuxt dev --host (or otherwise binds to a non-loopback interface). A plain curl http://<dev-lan-ip>:3000/.well-known/appspecific/com.chrome.devtools.json returns the JSON; no browser, no CORS.
  2. DNS rebinding against the default loopback dev server. A page the developer visits resolves to the attacker, then re-resolves to 127.0.0.1 after the TTL; the browser believes the request is same-origin and reads the response.

Affected versions

[email protected] (PR #32084) through [email protected]. 3.x is not affected.

Reproduction

npx nuxt dev
curl -s http://localhost:3000/.well-known/appspecific/com.chrome.devtools.json
# {"workspace":{"uuid":"...","root":"/Users/<name>/..."}}

Workaround

Set experimental: { chromeDevtoolsProjectSettings: false } in nuxt.config.ts. Chrome DevTools' Workspace auto-integration will stop working; the dev server is otherwise unaffected.

Patches

Fixed in [email protected] by #35201 (commit 55c75b78). The handler is now routed through the same host / origin gate the rest of the dev server uses, so the endpoint only responds to requests that look local.

Record
GHSA-rq7w-g337-39qq
CVSS 4.0
2.3 LowCVSS:4.0/AV:A/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Weakness
CWE-200
Updated
2026-11-02
OSVROOT-APP-NPM-CVE-2026-41305 6.1

CVE-2026-41305 in postcss - Patched by Root

Root has patched CVE-2026-41305 in the postcss package for Root:npm. Multiple fixed versions available.

Record
ROOT-APP-NPM-CVE-2026-41305
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Updated
2026-11-02
OSVUBUNTU-CVE-2026-41305 6.1

PostCSS takes a CSS file and provides an API to analyze and modify its rules by transforming the rules into an Abstract Syntax Tree. Versions prior to 8.5.10 do not escape </style> sequences when stringifying CSS ASTs. When user-submitted CSS is parsed and re-stringified for embedding in HTML <style> tags, </style> in CSS values breaks out of the style context, enabling XSS. Version 8.5.10 fixes the issue.

Record
UBUNTU-CVE-2026-41305
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Updated
2026-11-02
OSVCLSA-2026-1779065184 No score

TuxCare security update for postcss (1 CVE)

TuxCare rebuilt postcss to address 1 CVE. Fixed in 8.4.41-tuxcare.1.

Record
CLSA-2026-1779065184
Updated
2026-11-02
OSVCLSA-2026-1779065188 No score

TuxCare security update for postcss (2 CVEs)

TuxCare rebuilt postcss to address 2 CVEs. Fixed in 8.2.15-tuxcare.1.

Record
CLSA-2026-1779065188
Updated
2026-11-02
OSVCLSA-2026-1779065191 No score

TuxCare security update for postcss (1 CVE)

TuxCare rebuilt postcss to address 1 CVE. Fixed in 8.4.31-tuxcare.1.

Record
CLSA-2026-1779065191
Updated
2026-11-02
OSVCLSA-2026-1779065192 No score

TuxCare security update for postcss (1 CVE)

TuxCare rebuilt postcss to address 1 CVE. Fixed in 8.5.6-tuxcare.1.

Record
CLSA-2026-1779065192
Updated
2026-11-02
OSVCLSA-2026-1779065193 No score

TuxCare security update for postcss (2 CVEs)

TuxCare rebuilt postcss to address 2 CVEs. Fixed in 8.4.5-tuxcare.1.

Record
CLSA-2026-1779065193
Updated
2026-11-02
OSVCLSA-2026-1779065198 No score

TuxCare security update for postcss (4 CVEs)

TuxCare rebuilt postcss to address 4 CVEs. Fixed in 7.0.21-tuxcare.1.

Record
CLSA-2026-1779065198
Updated
2026-11-02
OSVCLSA-2026-1779324473 No score

TuxCare security update for postcss (4 CVEs)

TuxCare rebuilt postcss to address 4 CVEs. Fixed in 7.0.32-tuxcare.1.

Record
CLSA-2026-1779324473
Updated
2026-11-02
OSVCLSA-2026-1779670117 No score

TuxCare security update for postcss (4 CVEs)

TuxCare rebuilt postcss to address 4 CVEs. Fixed in 7.0.17-tuxcare.1.

Record
CLSA-2026-1779670117
Updated
2026-11-02
OSVCLSA-2026-1783558975 No score

TuxCare security update for nuxt (9 CVEs)

TuxCare rebuilt nuxt to address 9 CVEs. Fixed in 4.0.3-tuxcare.4.

Record
CLSA-2026-1783558975
Updated
2026-11-03
OSVCLSA-2026-1783904637 No score

TuxCare security update for nuxt (1 CVE)

TuxCare rebuilt nuxt to address 1 CVE. Fixed in 3.12.3-tuxcare.3.

Record
CLSA-2026-1783904637
Updated
2026-11-02
OSVCLSA-2026-1783991047 No score

TuxCare security update for nuxt (2 CVEs)

TuxCare rebuilt nuxt to address 2 CVEs. Fixed in 3.12.4-tuxcare.7.

Record
CLSA-2026-1783991047
Updated
2026-11-02
OSVCLSA-2026-1783991051 No score

TuxCare security update for nuxt (1 CVE)

TuxCare rebuilt nuxt to address 1 CVE. Fixed in 3.12.3-tuxcare.4.

Record
CLSA-2026-1783991051
Updated
2026-11-02
OSVCLSA-2026-1784943315 No score

TuxCare security update for postcss (2 CVEs)

TuxCare rebuilt postcss to address 2 CVEs. Fixed in 8.4.14-tuxcare.3.

Record
CLSA-2026-1784943315
Updated
2026-11-02
OSVCLSA-2026-1790604941 No score

TuxCare security update for postcss (6 CVEs)

TuxCare rebuilt postcss to address 6 CVEs. Fixed in 6.0.1-tuxcare.1.

Record
CLSA-2026-1790604941
Updated
2026-11-02
OSVCLSA-2026-1791633202 No score

TuxCare security update for postcss (4 CVEs)

TuxCare rebuilt postcss to address 4 CVEs. Fixed in 8.4.49-tuxcare.1.

Record
CLSA-2026-1791633202
Updated
2026-11-02
OSVCLSA-2026-1791806458 No score

TuxCare security update for postcss (1 CVE)

TuxCare rebuilt postcss to address 1 CVE. Fixed in 8.5.2-tuxcare.3.

Record
CLSA-2026-1791806458
Updated
2026-11-02
OSVCLSA-2026-1791806570 No score

TuxCare security update for postcss (1 CVE)

TuxCare rebuilt postcss to address 1 CVE. Fixed in 8.5.3-tuxcare.3.

Record
CLSA-2026-1791806570
Updated
2026-11-02
OSVCLSA-2026-1792160907 No score

TuxCare security update for postcss (3 CVEs)

TuxCare rebuilt postcss to address 3 CVEs. Fixed in 6.0.23-tuxcare.1.

Record
CLSA-2026-1792160907
Updated
2026-11-02
OSVCLSA-2026-1792160954 No score

TuxCare security update for @nuxt/vite-builder (10 CVEs)

TuxCare rebuilt @nuxt/vite-builder to address 10 CVEs. Fixed in 4.0.3-tuxcare.4.

Record
CLSA-2026-1792160954
Updated
2026-11-02
OSVCLSA-2026-1792160960 No score

TuxCare security update for @nuxt/webpack-builder (2 CVEs)

TuxCare rebuilt @nuxt/webpack-builder to address 2 CVEs. Fixed in 3.12.4-tuxcare.7.

Record
CLSA-2026-1792160960
Updated
2026-11-02
OSVCLSA-2026-1792161448 No score

TuxCare security update for @nuxt/kit (10 CVEs)

TuxCare rebuilt @nuxt/kit to address 10 CVEs. Fixed in 4.0.3-tuxcare.4.

Record
CLSA-2026-1792161448
Updated
2026-11-02
OSVCLSA-2026-1792161450 No score

TuxCare security update for @nuxt/kit (2 CVEs)

TuxCare rebuilt @nuxt/kit to address 2 CVEs. Fixed in 3.12.4-tuxcare.7.

Record
CLSA-2026-1792161450
Updated
2026-11-02
OSVCLSA-2026-1792161451 No score

TuxCare security update for @nuxt/kit (1 CVE)

TuxCare rebuilt @nuxt/kit to address 1 CVE. Fixed in 3.12.3-tuxcare.4.

Record
CLSA-2026-1792161451
Updated
2026-11-02
OSVCLSA-2026-1792161483 No score

TuxCare security update for @nuxt/rspack-builder (10 CVEs)

TuxCare rebuilt @nuxt/rspack-builder to address 10 CVEs. Fixed in 4.0.3-tuxcare.4.

Record
CLSA-2026-1792161483
Updated
2026-11-02
OSVCLSA-2026-1792161588 No score

TuxCare security update for @nuxt/schema (10 CVEs)

TuxCare rebuilt @nuxt/schema to address 10 CVEs. Fixed in 4.0.3-tuxcare.4.

Record
CLSA-2026-1792161588
Updated
2026-11-02
OSVCLSA-2026-1792161590 No score

TuxCare security update for @nuxt/schema (2 CVEs)

TuxCare rebuilt @nuxt/schema to address 2 CVEs. Fixed in 3.12.4-tuxcare.7.

Record
CLSA-2026-1792161590
Updated
2026-11-02
OSVCLSA-2026-1792161591 No score

TuxCare security update for @nuxt/schema (1 CVE)

TuxCare rebuilt @nuxt/schema to address 1 CVE. Fixed in 3.12.3-tuxcare.4.

Record
CLSA-2026-1792161591
Updated
2026-11-02
OSVCLSA-2026-1792161812 No score

TuxCare security update for @nuxt/vite-builder (2 CVEs)

TuxCare rebuilt @nuxt/vite-builder to address 2 CVEs. Fixed in 3.12.4-tuxcare.7.

Record
CLSA-2026-1792161812
Updated
2026-11-02
OSVCLSA-2026-1792161813 No score

TuxCare security update for @nuxt/vite-builder (1 CVE)

TuxCare rebuilt @nuxt/vite-builder to address 1 CVE. Fixed in 3.12.3-tuxcare.4.

Record
CLSA-2026-1792161813
Updated
2026-11-02
OSVCLSA-2026-1792161924 No score

TuxCare security update for @nuxt/webpack-builder (10 CVEs)

TuxCare rebuilt @nuxt/webpack-builder to address 10 CVEs. Fixed in 4.0.3-tuxcare.4.

Record
CLSA-2026-1792161924
Updated
2026-11-02
OSVCLSA-2026-1792161926 No score

TuxCare security update for @nuxt/webpack-builder (1 CVE)

TuxCare rebuilt @nuxt/webpack-builder to address 1 CVE. Fixed in 3.12.3-tuxcare.4.

Record
CLSA-2026-1792161926
Updated
2026-11-02
OSVCLSA-2026-1793099909 No score

TuxCare security update for postcss (1 CVE)

TuxCare rebuilt postcss to address 1 CVE. Fixed in 8.5.5-tuxcare.2.

Record
CLSA-2026-1793099909
Updated
2026-11-02
OSVCLSA-2026-1793099949 No score

TuxCare security update for postcss (2 CVEs)

TuxCare rebuilt postcss to address 2 CVEs. Fixed in 8.2.9-tuxcare.3.

Record
CLSA-2026-1793099949
Updated
2026-11-02
OSVCLSA-2026-1793706695 No score

TuxCare security update for postcss (1 CVE)

TuxCare rebuilt postcss to address 1 CVE. Fixed in 8.4.33-tuxcare.3.

Record
CLSA-2026-1793706695
Updated
2026-11-03
OSVCLSA-2026-1793707849 No score

TuxCare security update for postcss (1 CVE)

TuxCare rebuilt postcss to address 1 CVE. Fixed in 8.4.17-tuxcare.3.

Record
CLSA-2026-1793707849
Updated
2026-11-03

Affected products

Affected packages

Affected packages
PackageAffectedFixed
nuxt
npm
4.0.0 up to 4.4.7
4.4.7
nuxt
npm
3.5.0 up to 3.21.7
3.21.7
postcss
npm
before 8.5.10
8.5.10
nuxt
npm
4.0.0-alpha.1 up to 4.4.7
4.4.7
postcss
TuxCare:npm
8.4.41-tuxcare.0 up to 8.4.41-tuxcare.1, plus listed versions
8.4.41
8.4.41-tuxcare.1
postcss
TuxCare:npm
From an advisory covering 2 CVEs
8.2.15-tuxcare.0 up to 8.2.15-tuxcare.1, plus listed versions
8.2.15
8.2.15-tuxcare.1
postcss
TuxCare:npm
8.4.31-tuxcare.0 up to 8.4.31-tuxcare.1, plus listed versions
8.4.31
8.4.31-tuxcare.1
postcss
TuxCare:npm
8.5.6-tuxcare.0 up to 8.5.6-tuxcare.1, plus listed versions
8.5.6
8.5.6-tuxcare.1
postcss
TuxCare:npm
From an advisory covering 2 CVEs
8.4.5-tuxcare.0 up to 8.4.5-tuxcare.1, plus listed versions
8.4.5
8.4.5-tuxcare.1
postcss
TuxCare:npm
From an advisory covering 4 CVEs
7.0.21-tuxcare.0 up to 7.0.21-tuxcare.1, plus listed versions
7.0.21
7.0.21-tuxcare.1
Show 42 moreShow less
Affected packages
PackageAffectedFixed
postcss
TuxCare:npm
From an advisory covering 4 CVEs
7.0.32-tuxcare.0 up to 7.0.32-tuxcare.1, plus listed versions
7.0.32
7.0.32-tuxcare.1
postcss
TuxCare:npm
From an advisory covering 4 CVEs
7.0.17-tuxcare.0 up to 7.0.17-tuxcare.1, plus listed versions
7.0.17
7.0.17-tuxcare.1
nuxt
TuxCare:npm
From an advisory covering 6 CVEs
4.0.3-tuxcare.0 up to 4.0.3-tuxcare.4, plus listed versions
4.0.34.0.3-tuxcare.14.0.3-tuxcare.24.0.3-tuxcare.3
4.0.3-tuxcare.4
nuxt
TuxCare:npm
3.12.3-tuxcare.0 up to 3.12.3-tuxcare.3, plus listed versions
3.12.33.12.3-tuxcare.13.12.3-tuxcare.2
3.12.3-tuxcare.3
nuxt
TuxCare:npm
3.12.4-tuxcare.0 up to 3.12.4-tuxcare.7, plus listed versions
3.12.43.12.4-tuxcare.23.12.4-tuxcare.33.12.4-tuxcare.43.12.4-tuxcare.53.12.4-tuxcare.6
3.12.4-tuxcare.7
nuxt
TuxCare:npm
3.12.3-tuxcare.0 up to 3.12.3-tuxcare.4, plus listed versions
3.12.33.12.3-tuxcare.13.12.3-tuxcare.23.12.3-tuxcare.3
3.12.3-tuxcare.4
postcss
TuxCare:npm
From an advisory covering 2 CVEs
8.4.14-tuxcare.0 up to 8.4.14-tuxcare.3, plus listed versions
8.4.148.4.14-tuxcare.18.4.14-tuxcare.2
8.4.14-tuxcare.3
postcss
TuxCare:npm
From an advisory covering 6 CVEs
6.0.1-tuxcare.0 up to 6.0.1-tuxcare.1, plus listed versions
6.0.1
6.0.1-tuxcare.1
postcss
TuxCare:npm
From an advisory covering 4 CVEs
8.4.49-tuxcare.0 up to 8.4.49-tuxcare.1, plus listed versions
8.4.49
8.4.49-tuxcare.1
postcss
TuxCare:npm
8.5.2-tuxcare.0 up to 8.5.2-tuxcare.3, plus listed versions
8.5.28.5.2-tuxcare.18.5.2-tuxcare.2
8.5.2-tuxcare.3
postcss
TuxCare:npm
8.5.3-tuxcare.0 up to 8.5.3-tuxcare.3, plus listed versions
8.5.38.5.3-tuxcare.18.5.3-tuxcare.2
8.5.3-tuxcare.3
postcss
TuxCare:npm
From an advisory covering 3 CVEs
6.0.23-tuxcare.0 up to 6.0.23-tuxcare.1, plus listed versions
6.0.23
6.0.23-tuxcare.1
@nuxt/vite-builder
TuxCare:npm
From an advisory covering 7 CVEs
4.0.3-tuxcare.0 up to 4.0.3-tuxcare.4, plus listed versions
4.0.34.0.3-tuxcare.14.0.3-tuxcare.3
4.0.3-tuxcare.4
@nuxt/webpack-builder
TuxCare:npm
3.12.4-tuxcare.0 up to 3.12.4-tuxcare.7, plus listed versions
3.12.43.12.4-tuxcare.23.12.4-tuxcare.33.12.4-tuxcare.43.12.4-tuxcare.53.12.4-tuxcare.6
3.12.4-tuxcare.7
@nuxt/kit
TuxCare:npm
From an advisory covering 7 CVEs
4.0.3-tuxcare.0 up to 4.0.3-tuxcare.4, plus listed versions
4.0.34.0.3-tuxcare.14.0.3-tuxcare.3
4.0.3-tuxcare.4
@nuxt/kit
TuxCare:npm
3.12.4-tuxcare.0 up to 3.12.4-tuxcare.7, plus listed versions
3.12.43.12.4-tuxcare.23.12.4-tuxcare.33.12.4-tuxcare.6
3.12.4-tuxcare.7
@nuxt/kit
TuxCare:npm
3.12.3-tuxcare.0 up to 3.12.3-tuxcare.4, plus listed versions
3.12.33.12.3-tuxcare.13.12.3-tuxcare.3
3.12.3-tuxcare.4
@nuxt/rspack-builder
TuxCare:npm
From an advisory covering 7 CVEs
4.0.3-tuxcare.0 up to 4.0.3-tuxcare.4, plus listed versions
4.0.34.0.3-tuxcare.14.0.3-tuxcare.3
4.0.3-tuxcare.4
@nuxt/schema
TuxCare:npm
From an advisory covering 7 CVEs
4.0.3-tuxcare.0 up to 4.0.3-tuxcare.4, plus listed versions
4.0.34.0.3-tuxcare.14.0.3-tuxcare.3
4.0.3-tuxcare.4
@nuxt/schema
TuxCare:npm
3.12.4-tuxcare.0 up to 3.12.4-tuxcare.7, plus listed versions
3.12.43.12.4-tuxcare.23.12.4-tuxcare.33.12.4-tuxcare.6
3.12.4-tuxcare.7
@nuxt/schema
TuxCare:npm
3.12.3-tuxcare.0 up to 3.12.3-tuxcare.4, plus listed versions
3.12.33.12.3-tuxcare.13.12.3-tuxcare.3
3.12.3-tuxcare.4
@nuxt/vite-builder
TuxCare:npm
3.12.4-tuxcare.0 up to 3.12.4-tuxcare.7, plus listed versions
3.12.43.12.4-tuxcare.23.12.4-tuxcare.33.12.4-tuxcare.6
3.12.4-tuxcare.7
@nuxt/vite-builder
TuxCare:npm
3.12.3-tuxcare.0 up to 3.12.3-tuxcare.4, plus listed versions
3.12.33.12.3-tuxcare.13.12.3-tuxcare.3
3.12.3-tuxcare.4
@nuxt/webpack-builder
TuxCare:npm
From an advisory covering 7 CVEs
4.0.3-tuxcare.0 up to 4.0.3-tuxcare.4, plus listed versions
4.0.34.0.3-tuxcare.14.0.3-tuxcare.3
4.0.3-tuxcare.4
@nuxt/webpack-builder
TuxCare:npm
3.12.3-tuxcare.0 up to 3.12.3-tuxcare.4, plus listed versions
3.12.33.12.3-tuxcare.13.12.3-tuxcare.3
3.12.3-tuxcare.4
postcss
TuxCare:npm
8.5.5-tuxcare.0 up to 8.5.5-tuxcare.2, plus listed versions
8.5.58.5.5-tuxcare.1
8.5.5-tuxcare.2
postcss
TuxCare:npm
From an advisory covering 2 CVEs
8.2.9-tuxcare.0 up to 8.2.9-tuxcare.3, plus listed versions
8.2.98.2.9-tuxcare.18.2.9-tuxcare.2
8.2.9-tuxcare.3
postcss
TuxCare:npm
8.4.33-tuxcare.0 up to 8.4.33-tuxcare.3, plus listed versions
8.4.338.4.33-tuxcare.18.4.33-tuxcare.2
8.4.33-tuxcare.3
postcss
TuxCare:npm
8.4.17-tuxcare.0 up to 8.4.17-tuxcare.3, plus listed versions
8.4.178.4.17-tuxcare.18.4.17-tuxcare.2
8.4.17-tuxcare.3
node-postcss
Debian:12
All versions, plus listed versions
8.4.20+~cs8.0.23-18.4.20+~cs8.0.23-1+deb12u18.4.31+~cs8.0.26-18.4.39+~cs9.2.29-18.4.49+~cs9.2.32-1
Show 14 moreShow less
8.5.12+~cs9.3.32-18.5.14+~cs9.3.34-18.5.15+~cs9.3.34-18.5.15+~cs9.3.38-18.5.15+~cs9.3.39-18.5.19+~cs10.2.23-18.5.21+~cs10.2.23-18.5.23+~cs10.2.23-18.5.25+~cs10.2.23-18.5.26+~cs10.2.24-18.5.28+~cs10.2.24-18.5.6+~cs9.3.28-18.5.8+~cs9.3.30-18.5.9+~cs9.3.30-1
None known
node-postcss
Debian:13
All versions, plus listed versions
8.4.49+~cs9.2.32-18.5.12+~cs9.3.32-18.5.14+~cs9.3.34-18.5.15+~cs9.3.34-18.5.15+~cs9.3.38-1
Show 10 moreShow less
8.5.15+~cs9.3.39-18.5.19+~cs10.2.23-18.5.21+~cs10.2.23-18.5.23+~cs10.2.23-18.5.25+~cs10.2.23-18.5.26+~cs10.2.24-18.5.28+~cs10.2.24-18.5.6+~cs9.3.28-18.5.8+~cs9.3.30-18.5.9+~cs9.3.30-1
None known
node-postcss
Debian:14
before 8.5.12+~cs9.3.32-1, plus listed versions
8.4.49+~cs9.2.32-18.5.6+~cs9.3.28-18.5.8+~cs9.3.30-18.5.9+~cs9.3.30-1
8.5.12+~cs9.3.32-1
nuxt
npm
From an advisory covering 3 CVEs
4.0.0 up to 4.4.7
4.4.7
nuxt
npm
From an advisory covering 3 CVEs
3.5.0 up to 3.21.7
3.21.7
postcss
Root:npm
before 8.5.8-aikido.2
8.5.8-aikido.28.5.6-aikido.28.5.3-aikido.38.5.3-aikido.18.5.9-aikido.18.4.31-aikido.15.2.18-aikido.37.0.39-aikido.48.5.6-aikido.37.0.39-aikido.58.5.8-aikido.38.5.8-aikido.48.4.31-aikido.28.5.9-aikido.27.0.39-aikido.65.2.18-aikido.48.5.3-aikido.28.5.9-aikido.38.5.6-aikido.47.0.39-aikido.78.5.8-aikido.55.2.18-aikido.58.5.6-aikido.58.4.31-aikido.4
@rootio/postcss
Root:npm
before 8.5.6-root.io.2
8.5.6-root.io.28.5.8-root.io.28.5.6-root.io.18.5.8-root.io.18.5.9-root.io.18.5.3-root.io.18.5.3-root.io.38.4.31-root.io.15.2.18-root.io.37.0.39-root.io.48.5.6-root.io.37.0.39-root.io.58.5.8-root.io.38.5.8-root.io.48.4.31-root.io.28.5.9-root.io.27.0.39-root.io.65.2.18-root.io.48.5.3-root.io.28.5.9-root.io.38.5.6-root.io.47.0.39-root.io.78.5.8-root.io.55.2.18-root.io.58.5.6-root.io.58.4.31-root.io.4
node-postcss
Ubuntu:20.04:LTS
All versions, plus listed versions
6.0.23-16.0.23-3
None known
node-postcss
Ubuntu:22.04:LTS
All versions, plus listed versions
8.2.1+~cs5.3.23-88.4.5+~cs7.1.51-28.4.6+~cs7.3.21-1
None known
node-postcss
Ubuntu:24.04:LTS
All versions, plus listed versions
8.4.20+~cs8.0.23-18.4.31+~cs8.0.26-1
None known
node-postcss
Ubuntu:25.10
All versions, plus listed versions
8.4.49+~cs9.2.32-18.5.6+~cs9.3.28-1
None known
node-postcss
Ubuntu:26.10
All versions, plus listed versions
8.5.8+~cs9.3.30-18.5.15+~cs9.3.34-18.5.15+~cs9.3.38-18.5.15+~cs9.3.39-1build18.5.25+~cs10.2.23-18.5.26+~cs10.2.24-1
None known
node-postcss
Ubuntu:26.04:LTS
All versions, plus listed versions
8.5.6+~cs9.3.28-18.5.8+~cs9.3.30-1
None known

History

History
RecordedChangedSources
affected
affected, aliases, factsOSV
affected, aliases, published, referencesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-41305 is a medium vulnerability (CVSS 6.1) in Postcss, published April 24, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.21%, the 10th percentile. Fixed in nuxt 4.4.7.

References

Show 27 moreShow less
This page doesn't list everything

Left out here: the rest of 2 source descriptions. The JSON record has them.

MoveEnter Open