alshedivat / alshedivat/al-folio

Fresh sites get a high-severity Dependabot alert: css_parser < 3.0.0 pinned by jekyll-3rd-party-libraries

Đang mở
#3,700 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
HTML
Star
16.1k
Fork
13.1k
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

## What happens

Every site created from the current template gets a high-severity Dependabot alert as soon as it is pushed to a public GitHub repository. `Gemfile.lock` resolves `css_parser` to 1.22.0, which is affected by GHSA-9pmc-p236-855h / CVE-2026-53727 (SSRF and local file disclosure in `CssParser::Parser#read_remote_file`). The fix is in css_parser 3.0.0, released 2026-06-01.

Bundler cannot move to it. `jekyll-3rd-party-libraries` 0.0.1, the only version on rubygems.org, declares `css_parser (>= 1.6, < 2.0)`, and the template's `Gemfile` also lists `css_parser` directly. So `bundle update css_parser` stays on 1.x, and Dependabot cannot open a fix PR either.

## To reproduce

1. Create a site from the template, run `bundle install`, commit `Gemfile.lock`.
2. Push to a public repository with Dependabot alerts enabled (the default).
3. Within minutes, Security > Dependabot shows the alert on `Gemfile.lock`.

## Impact

Low in practice: the gem runs only during the build, on the site's own CSS, and the published site is static. But it hits every al-folio user on GitHub, and there is nothing they can do about it on their side. Related history: #3609 bumped css_parser to 1.22.0.

## Suggested fix

Relax the constraint in `jekyll-3rd-party-libraries` to allow css_parser 3.x and publish a new version, then refresh `Gemfile.lock` in the template. I can test a pre-release of the plugin against a site built from the current template and report back.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Start by reading Gemfile and Gemfile.lock, then inspect the css_parser constraint declared by jekyll-3rd-party-libraries. Run bundle update css_parser and build a site from the current template to confirm whether the dependency can resolve to css_parser 3.x. Done means a compatible plugin release is available, the lockfile refreshes successfully, and the Dependabot alert is no longer reported.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
jekyll, ruby
Lĩnh vực
build-system, security
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Sôi nổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
48/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.