Package: release.debian.org
Control: affects -1 + src:ruby-css-parser
X-Debbugs-Cc: [email protected]
User: [email protected]
Usertags: pu
Tags: trixie
X-Debbugs-Cc: [email protected]
Severity: normal

[ Reason ]
ruby-css-parser explicitly disables TLS certificate verification when loading CSS from HTTPS URLs by setting OpenSSL::SSL::VERIFY_NONE.

This allows a man-in-the-middle attacker to provide modified CSS content to applications using ruby-css-parser to load remote stylesheets.

The issue is tracked as CVE-2026-44312. It is not a regression relative to previous Debian releases, the vulnerable code has existed since at least upstream version 1.3.6.

[ Impact ]
Without this update, HTTPS connections made by ruby-css-parser do not authenticate the remote server. Applications loading remote CSS can therefore receive attacker-controlled content despite using HTTPS.

[ Tests ]
All enabled jobs passed, including the package build, autopkgtest, reverse dependencies tests, and other Salsa CI checks:

https://salsa.debian.org/aquila/ruby-css-parser/-/pipelines/1102614

[ Risks ]
The fix is a single-line deletion that restores the default TLS certificate verification behavior. The change is low risk and does not affect parsing logic, public APIs, dependencies, or package configuration.

[ Checklist ]
  [x] *all* changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in (old)stable
  [x] the issue is verified as fixed in unstable

[ Changes ]
* Import the upstream fix for CVE-2026-44312, removing the explicit disabling of HTTPS certificate verification.
* Add the patch to debian/patches/series.
* Document the stable update in debian/changelog.
diff -Nru ruby-css-parser-1.19.0/debian/changelog 
ruby-css-parser-1.19.0/debian/changelog
--- ruby-css-parser-1.19.0/debian/changelog     2024-09-25 15:13:12.000000000 
-0400
+++ ruby-css-parser-1.19.0/debian/changelog     2026-06-05 20:23:34.000000000 
-0400
@@ -1,3 +1,11 @@
+ruby-css-parser (1.19.0-1+deb13u1) trixie; urgency=medium
+
+  * Team upload.
+  * Import upstream patch to stop disabling HTTPS certificate verification
+    when loading remote CSS. (CVE-2026-44312)
+
+ -- Aquila Macedo Costa <[email protected]>  Fri, 05 Jun 2026 21:23:34 -0300
+
 ruby-css-parser (1.19.0-1) unstable; urgency=medium
 
   * New upstream version 1.19.0
diff -Nru ruby-css-parser-1.19.0/debian/patches/CVE-2026-44312.patch 
ruby-css-parser-1.19.0/debian/patches/CVE-2026-44312.patch
--- ruby-css-parser-1.19.0/debian/patches/CVE-2026-44312.patch  1969-12-31 
19:00:00.000000000 -0500
+++ ruby-css-parser-1.19.0/debian/patches/CVE-2026-44312.patch  2026-06-05 
20:23:34.000000000 -0400
@@ -0,0 +1,22 @@
+From e0c95d5abe91b237becb90ff316531a6547ada18 Mon Sep 17 00:00:00 2001
+From: Michael Grosser <[email protected]>
+Date: Mon, 27 Apr 2026 17:10:14 -0700
+Subject: [PATCH] Merge pull request #186 from premailer/grosser/https
+
+verify ssl when loading files over https
+---
+ lib/css_parser/parser.rb | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/lib/css_parser/parser.rb b/lib/css_parser/parser.rb
+index 11dd36f..e8d8dcb 100644
+--- a/lib/css_parser/parser.rb
++++ b/lib/css_parser/parser.rb
+@@ -646,7 +646,6 @@ module CssParser
+             uri.port = 443 unless uri.port
+             http = Net::HTTP.new(uri.host, uri.port)
+             http.use_ssl = true
+-            http.verify_mode = OpenSSL::SSL::VERIFY_NONE
+           else
+             http = Net::HTTP.new(uri.host, uri.port)
+           end
diff -Nru ruby-css-parser-1.19.0/debian/patches/series 
ruby-css-parser-1.19.0/debian/patches/series
--- ruby-css-parser-1.19.0/debian/patches/series        2024-09-25 
15:13:12.000000000 -0400
+++ ruby-css-parser-1.19.0/debian/patches/series        2026-06-05 
20:23:34.000000000 -0400
@@ -1,2 +1,3 @@
 0001-Sanitize-test-suite.patch
 0002-Disable-tests-that-hit-the-network.patch
+CVE-2026-44312.patch

Reply via email to