Vulnérabilité dans lemur (CVE-2026-70667)
Résumé
Vulnérabilité dans lemur (CVE-2026-70667). Risque d'opérations non autorisées ou de divulgation. Exploitable via POST /api/1/certificates/upload. Atténuation : mise à jour vers 1.9.3 ou plus.
Description d'origine
La description telle que publiée par la source (souvent en anglais).
Summary
The SSRF mitigation added for GHSA-54vg-pfh7-jq95 (_validate_revocation_url() in lemur /certificates/verify.py) can be bypassed. An operator-role user who uploads a certificate with attacker-controlled CRL/OCSP extensions can still make Lemur reach internal destinations (RFC1918, loopback, link-local 169.254.169.254) during verification.
Affected version
Tested against main (the commit that introduced _validate_revocation_url). The 1.9.2 release predates that guard and is vulnerable to the original SSRF (GHSA-54vg-pfh7-jq95) directly; this bypass applies to the unreleased mitigation in main. Please map the affected range to whichever release will first contain _validate_revocation_url.
Bypass 1 — HTTP redirect (deterministic)
The guard validates only the URL in the certificate; the CRL fetch then follows redirects without re-validating the target:
# lemur/certificates/verify.py:174
response = requests.get(point, timeout=(3.05, 6))
The attacker hosts the CRL URL on a public host they control (passes the guard); that host returns 302 Location: http://169.254.169.254/.... requests follows it to the internal target the guard never inspected.
Bypass 2 — DNS rebinding / TOCTOU (probabilistic)
The guard resolves once during validation; the fetch re-resolves independently:
# lemur/certificates/verify.py:51
addr = ipaddress.ip_address(socket.gethostbyname(hostname))
A low-TTL attacker name that answers a public IP…
Source: NIST National Vulnerability Database NVD GitHub Advisory
Résumé généré automatiquement
Assemblé par SecPulse à partir des données sources (CVSS, CWE, versions affectées) à l'aide de modèles, sans IA. Vérifiez la description d'origine et les références ci-dessous.
Une vulnérabilité référencée CVE-2026-70667 a été découverte dans lemur.
Des attaquants peuvent cibler un point d'entrée spécifique comme POST /api/1/certificates/upload à distance pour détourner le produit.
Risque d'opérations non autorisées ou de divulgation. Score CVSS : 6.3/10.
Action : mettez à jour lemur vers 1.9.3 ou supérieur.
En cas de doute, contactez votre service informatique ou cherchez « lemur CVE-2026-70667 » sur le site de l'éditeur.
CVE-2026-70667 (lemur) — CWE-367 / CVSS v3 6.3
Vecteur d'attaque : distant (réseau) / sans interaction utilisateur
Surface d'attaque : POST /api/1/certificates/upload / main / _validate_revocation_url / requests
Correctif : 1.9.3 — appliquer immédiatement
Plan : 1) Audit SBOM, 2) Mise à jour staging→prod, 3) Surveillance WAF/proxy sur les endpoints affectés, 4) Recherche d'IOC dans les logs.
Réfs : voir GHSA / avis éditeur / version corrigée liés sur cette page.
Une vulnérabilité (CWE-367) affecte lemur. Les attaquants atteignent le code vulnérable via POST /api/1/certificates/upload.
Consultez l'avis de l'éditeur pour les versions affectées de lemur. Surface d'attaque : POST /api/1/certificates/upload / main / _validate_revocation_url / requests.
Gravité : Moyenne (CVSS 6.3/10). Risque d'opérations non autorisées ou de divulgation.
Mettre à jour vers 1.9.3.
En attendant le correctif : désactivez la fonctionnalité concernée, appliquez des règles WAF, ou restreignez l'accès par ACL réseau.
Recherchez dans les logs webserver/proxy/WAF des requêtes anormales vers POST /api/1/certificates/upload (en-têtes d'auth malformés, méta-caractères SQL). Auditez les fichiers de dépendances pour trouver lemur.
Actions de réponse
Étapes concrètes et exemples de commandes que les équipes SOC/SRE doivent exécuter dans l'ordre
-
1Identify exposure identify
grep -r 'lemur' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
lemurを grep し、稼働しているサービス・バージョンを把握する。 -
2Hunt for indicators of compromise detect
grep 'POST /api/1/certificates/upload' /var/log/nginx/access.log | grep -E '(unusual_payload|sqli_pattern)'アクセスログで
POST /api/1/certificates/uploadへの異常なリクエスト (不正な認証ヘッダ・SQLメタ文字)を過去 30〜90日分捜索。WAF/SIEM があれば該当パスのアラート発火履歴を確認。 -
3Apply patch patch
Upgrade lemur to 1.9.3ステージング環境で 1.9.3 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスと、Step 2 で見つけた異常検知の続報チェックを含めること。
-
4Post-deployment verification verify
Replay attack against POST /api/1/certificates/upload on staging to confirm patch closes the vectorパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番では Step 2 と同じログクエリでアラート再発が無いか継続監視。
Paquets affectés
Références
- advisory github.com
- advisory nvd.nist.gov
- package github.com
- package pypi.org
- web github.com
- web github.com
- web github.com
- web github.com