git prebuild (OpenSSL) breaks HTTPS on FIPS-enabled hosts: "Insufficient randomness"

Fermée
#7,922 0 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Une pull request liée a déjà été fusionnée.

  • #6 par @ollie-sutton — fusionnée

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
25/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
À l'abandon
Stack technique
docker, git

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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 = 1 inside 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
Langage dominant
TypeScript
Étoiles
58
Forks
65
Merge moyen
7 h 47 min
PR mergées (30 j)
483

Préparer son environnement

Ouvrir dans Codespaces

Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.

  • Fournit un Dockerfile ou un fichier Docker Compose
  • Aucun modèle de pull request
  • Aucun guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de containerbase/base

Toutes les issues de containerbase/base

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.