Skip to content

Update dependency postcss to v8.5.10 [SECURITY] - abandoned - autoclosed#313

Closed
renovate[bot] wants to merge 1 commit into
developfrom
renovate/npm-postcss-vulnerability
Closed

Update dependency postcss to v8.5.10 [SECURITY] - abandoned - autoclosed#313
renovate[bot] wants to merge 1 commit into
developfrom
renovate/npm-postcss-vulnerability

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Aug 6, 2024

This PR contains the following updates:

Package Change Age Confidence
postcss (source) 8.5.88.5.10 age confidence

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

CVE-2026-41305 / GHSA-qx2v-qp2m-jg93

More information

Details

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)

Severity

  • CVSS Score: 6.1 / 10 (Medium)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Release Notes

postcss/postcss (postcss)

v8.5.10

Compare Source

  • Fixed XSS via unescaped </style> in non-bundler cases (by @​TharVid).

v8.5.9

Compare Source

  • Speed up source map encoding paring in case of the error.

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • ""
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added the dependencies Pull requests that update a dependency file label Aug 6, 2024
@renovate
Copy link
Copy Markdown
Contributor Author

renovate Bot commented Aug 6, 2024

Branch automerge failure

This PR was configured for branch automerge. However, this is not possible, so it has been raised as a PR instead.

@renovate renovate Bot force-pushed the renovate/npm-postcss-vulnerability branch from e8ec8e3 to 3d25ebd Compare October 4, 2024 02:20
@renovate renovate Bot force-pushed the renovate/npm-postcss-vulnerability branch 4 times, most recently from 87bef5a to 13a6116 Compare November 4, 2024 11:35
@renovate renovate Bot force-pushed the renovate/npm-postcss-vulnerability branch from 13a6116 to 339362f Compare November 5, 2024 04:07
@renovate renovate Bot force-pushed the renovate/npm-postcss-vulnerability branch from 339362f to 9ae4a17 Compare November 15, 2024 12:44
@renovate renovate Bot changed the title chore(deps): update dependency postcss to v8.4.31 [security] chore(deps): update dependency postcss to v8.4.31 [security] - abandoned Feb 15, 2025
@renovate
Copy link
Copy Markdown
Contributor Author

renovate Bot commented Feb 15, 2025

Autoclosing Skipped

This PR has been flagged for autoclosing. However, it is being skipped due to the branch being already modified. Please close/delete it manually or report a bug if you think this is in error.

@renovate renovate Bot changed the title chore(deps): update dependency postcss to v8.4.31 [security] - abandoned chore(deps): update dependency postcss to v8.4.31 [security] Feb 15, 2025
@renovate renovate Bot force-pushed the renovate/npm-postcss-vulnerability branch from 9ae4a17 to 88850ed Compare February 22, 2025 11:03
@renovate renovate Bot force-pushed the renovate/npm-postcss-vulnerability branch 2 times, most recently from 69ec440 to c402bf8 Compare March 10, 2025 07:07
@renovate renovate Bot force-pushed the renovate/npm-postcss-vulnerability branch 2 times, most recently from bc85e5c to 023b9fe Compare March 25, 2025 16:13
@renovate renovate Bot force-pushed the renovate/npm-postcss-vulnerability branch 3 times, most recently from bebaa1b to 9d2d9be Compare April 11, 2025 01:49
@renovate renovate Bot force-pushed the renovate/npm-postcss-vulnerability branch from 9d2d9be to 737d2fb Compare May 4, 2025 11:26
@renovate renovate Bot force-pushed the renovate/npm-postcss-vulnerability branch 2 times, most recently from 6cdc853 to 470f749 Compare May 27, 2025 13:45
@renovate renovate Bot force-pushed the renovate/npm-postcss-vulnerability branch 4 times, most recently from 069c077 to 1107534 Compare June 21, 2025 05:10
@renovate renovate Bot force-pushed the renovate/npm-postcss-vulnerability branch from 1107534 to 236ff91 Compare June 25, 2025 05:19
@renovate renovate Bot force-pushed the renovate/npm-postcss-vulnerability branch 2 times, most recently from 6256d6f to 4801ece Compare July 11, 2025 05:10
@renovate renovate Bot force-pushed the renovate/npm-postcss-vulnerability branch from 4801ece to ee64de8 Compare September 25, 2025 21:36
@renovate renovate Bot force-pushed the renovate/npm-postcss-vulnerability branch from ee64de8 to 6b8fd56 Compare October 23, 2025 06:36
@renovate renovate Bot force-pushed the renovate/npm-postcss-vulnerability branch 2 times, most recently from 56618b9 to 1522e5d Compare November 21, 2025 15:57
@renovate renovate Bot force-pushed the renovate/npm-postcss-vulnerability branch from 1522e5d to 902547c Compare February 12, 2026 11:27
@renovate renovate Bot changed the title chore(deps): update dependency postcss to v8.4.31 [security] chore(deps): update dependency postcss to v8.4.31 [security] - abandoned Mar 20, 2026
@renovate renovate Bot changed the title chore(deps): update dependency postcss to v8.4.31 [security] - abandoned Update dependency postcss to v8.5.10 [SECURITY] Apr 25, 2026
@renovate renovate Bot force-pushed the renovate/npm-postcss-vulnerability branch from 902547c to 6e48a3c Compare April 25, 2026 01:50
@renovate renovate Bot changed the title Update dependency postcss to v8.5.10 [SECURITY] Update dependency postcss to v8.5.10 [SECURITY] - abandoned Apr 27, 2026
@renovate renovate Bot changed the title Update dependency postcss to v8.5.10 [SECURITY] - abandoned Update dependency postcss to v8.5.10 [SECURITY] Apr 27, 2026
@renovate renovate Bot changed the title Update dependency postcss to v8.5.10 [SECURITY] Update dependency postcss to v8.5.10 [SECURITY] - abandoned May 4, 2026
@renovate renovate Bot changed the title Update dependency postcss to v8.5.10 [SECURITY] - abandoned Update dependency postcss to v8.5.10 [SECURITY] - abandoned - autoclosed May 12, 2026
@renovate renovate Bot closed this May 12, 2026
@renovate renovate Bot deleted the renovate/npm-postcss-vulnerability branch May 12, 2026 14:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants