git prebuild (OpenSSL) breaks HTTPS on FIPS-enabled hosts: "Insufficient randomness"
Maintainer thường phản hồi trong vòng 1 ngày
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- docker, git
- Lĩnh vực
- backend, infrastructure
Hướng nghiên cứu
Start by comparing the containerbase 14.42.0 and 14.43.0 changes referenced in the report, then reproduce with the supplied Docker command on a FIPS-enabled host. Inspect the prebuilt Git HTTPS helper and its OpenSSL linkage; done means HTTPS Git operations such as git ls-remote work in FIPS mode. An open linked pull request indicates work is already underway.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Since containerbase 14.43.0 (#7813, "install git from the containerbase prebuild"), every HTTPS git operation fails on hosts with kernel FIPS mode enabled:
libssl.so.3 => /lib/x86_64-linux-gnu/libssl.so.3 (0x00007fc9a9908000)
libgnutls.so.30 => /lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007fc9a8ebe000)
fatal: unable to access 'https://git.example.com/scm/proj/repo.git/': Insufficient randomness
This breaks RenovateBot on FIPS-enabled clusters. Platform API calls still work (Node.js bundles its own OpenSSL), but every git ls-remote / clone fails, so every repository ends with Repository has unknown error.
Environment
- OpenShift cluster installed with FIPS mode (
/proc/sys/crypto/fips_enabled=1inside the container) - Image:
ghcr.io/renovatebot/renovate(slim), run as a CronJob via the Renovate Helm chart - Platform: bitbucket-server over HTTPS
| Renovate | base-image | containerbase | Result |
|---|---|---|---|
44.167.4 |
13.133.0 |
14.42.0 |
works |
44.168.3 |
13.134.x |
14.43.0 |
broken |
44.176.2 (latest) |
13.139.1 |
≥ 14.43.0 |
broken |
Steps to reproduce
On any host / node with fips_enabled=1:
docker run --rm ghcr.io/renovatebot/renovate:44.176.2 sh -c '
cat /proc/sys/crypto/fips_enabled
ldd "$(git --exec-path)/git-remote-https" | grep -E "ssl|gnutls"
git ls-remote https://github.com/containerbase/base.git HEAD
'
Related
- #7813 (introduced the prebuild)
- containerbase release 14.43.0: https://github.com/containerbase/base/releases/tag/14.43.0
- Ubuntu OpenSSL FIPS auto-detection patches: https://launchpad.net/ubuntu/+source/openssl/+changelog
- Ngôn ngữ chính
- TypeScript
- Star
- 58
- Fork
- 65
- Merge trung bình
- 11 giờ 31 phút
- Pull request đã merge (30 ngày)
- 443
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của containerbase/base
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
containerbase/base#7891 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
containerbase/base#7842 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
priority-3-normal tool/dotnet
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 78/100
containerbase/base#5996 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
containerbase/base#7908 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 42/100
containerbase/base#7902 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của containerbase/base
Issue tương tự
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 82/100
source-cooperative/docs.source.coop#41 · 1 bình luận ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Nimblesite/SharpLsp#468 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
solidjs-community/solid-primitives#1082 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 64/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày