← Back to CVE Explorer

CVE-2026-70666

Full vulnerability record from the local CVENow database.

Description

Lemur manages TLS certificate creation. Prior to 1.9.3, an authority-role member could update acme_url through PUT /api/1/authorities/ without revalidation and direct setup_acme_client_no_retry to an attacker-controlled ACME server. ACME directory and order responses contain newNonce, newOrder, authorizations, and finalize URLs chosen by that server. The Lemur ClientV2 followed those URLs without requiring their host to match the configured directory host, allowing JWS-signed requests to internal services or cloud metadata endpoints. The issue required an ACME authority and a user authorized for that authority, but did not require global administrator privileges. The fix revalidates updates and introduces _PinnedClientNetwork to enforce a single allowed host for the complete ACME flow. This issue is fixed in version 1.9.3.

Severity
HIGH
CVSS score
7.4 (v3.1)
Vulnerability status
Deferred
Source identifier
Published
2026-08-18 20:17:23.237000
Last modified
2026-10-22 22:10:00.250000
View original CVE JSON
{
  "id": "CVE-2026-70666",
  "sourceIdentifier": "[email protected]",
  "published": "2026-08-18T20:17:23.237",
  "lastModified": "2026-10-22T22:10:00.250",
  "vulnStatus": "Deferred",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "Lemur manages TLS certificate creation. Prior to 1.9.3, an authority-role member could update acme_url through PUT /api/1/authorities/ without revalidation and direct setup_acme_client_no_retry to an attacker-controlled ACME server. ACME directory and order responses contain newNonce, newOrder, authorizations, and finalize URLs chosen by that server. The Lemur ClientV2 followed those URLs without requiring their host to match the configured directory host, allowing JWS-signed requests to internal services or cloud metadata endpoints. The issue required an ACME authority and a user authorized for that authority, but did not require global administrator privileges. The fix revalidates updates and introduces _PinnedClientNetwork to enforce a single allowed host for the complete ACME flow. This issue is fixed in version 1.9.3."
    },
    {
      "lang": "es",
      "value": "Lemur gestiona la creación de certificados TLS. Antes de la versión 1.9.3, un miembro con rol de autoridad podía actualizar acme_url a través de PUT /api/1/authorities/ sin revalidación y dirigir setup_acme_client_no_retry a un servidor ACME controlado por un atacante. Las respuestas de directorio y orden de ACME contienen las URL newNonce, newOrder, authorizations y finalize elegidas por ese servidor. El ClienteV2 de Lemur seguía esas URL sin requerir que su host coincidiera con el host de directorio configurado, permitiendo solicitudes firmadas con JWS a servicios internos o puntos finales de metadatos en la nube. El problema requería una autoridad ACME y un usuario autorizado para esa autoridad, pero no requería privilegios de administrador global. La solución revalida las actualizaciones e introduce _PinnedClientNetwork para forzar un único host permitido para el flujo ACME completo. Este problema está solucionado en la versión 1.9.3."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "Netflix",
          "product": "lemur",
          "versions": [
            {
              "version": "< 1.9.3",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:L",
          "baseScore": 7.4,
          "baseSeverity": "HIGH",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "privilegesRequired": "LOW",
          "userInteraction": "NONE",
          "scope": "CHANGED",
          "confidentialityImpact": "LOW",
          "integrityImpact": "LOW",
          "availabilityImpact": "LOW"
        },
        "exploitabilityScore": 3.1,
        "impactScore": 3.7
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-08-19T18:04:02.112548Z",
          "id": "CVE-2026-70666",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-918"
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/Netflix/lemur/commit/6dcb19b6d6004e97796d6a0344b130b2ba57f050",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/Netflix/lemur/releases/tag/v1.9.3",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/Netflix/lemur/security/advisories/GHSA-xpmj-wjcp-6pww",
      "source": "[email protected]"
    }
  ]
}