Description
css_parser is a Ruby CSS parser. From 2.2.0 until 3.0.0, CssParser::Parser#read_remote_file in lib/css_parser/parser.rb, and therefore load_uri! and the @import-following branch of add_block!, issued HTTP and HTTPS requests against any host, port, and URI without a scheme allowlist, host or IP filtering, or protection against link-local, loopback, or RFC-1918 addresses. Location: redirects were followed recursively back into the same function, which also serviced file:// URIs, so a single attacker-controlled HTTP redirect could upgrade the bug from SSRF to arbitrary local file disclosure. Any consumer of css_parser that hands it attacker-influenced CSS together with a base_uri: option is exposed. This issue is fixed in version 3.0.0.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| premailer | css_parser | < 3.0.0 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | ruby-css-parser | 3.0.0-1 | — |
| Debian 13 | ruby-css-parser | No fix yet | — |
| Debian 12 | ruby-css-parser | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | ruby-css-parser | No fix yet | — |
| Ubuntu 26.04 LTS | ruby-css-parser | No fix yet | — |
| Ubuntu 24.04 LTS | ruby-css-parser | No fix yet | — |
| Ubuntu 22.04 LTS | ruby-css-parser | No fix yet | — |
| Ubuntu 20.04 LTS | ruby-css-parser | No fix yet | — |
Show 2 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 18.04 LTS | ruby-css-parser | No fix yet | — |
| Ubuntu 16.04 LTS | ruby-css-parser | No fix yet | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| RubyGems | css_parser | < 3.0.0 | 3.0.0 | GHSA-9pmc-p236-855h |
References
- https://github.com/premailer/css_parser/security/advisories/GHSA-9pmc-p236-855h
- https://github.com/premailer/css_parser/commit/7d2ddf0189cd54b54f378f59daefa10cb036e476
- https://github.com/premailer/css_parser/commit/e0a151458b2a801ae265ba420862ef8b1127b3ae
- https://github.com/premailer/css_parser/releases/tag/v3.0.0