CVE-2025-54799CWE-319

Lego does not enforce HTTPS

Low · published August 7, 2025

CVSS v4.0
2.3
EPSS
0%
Percentile
12.3
In the wild
Unconfirmed
What it is

Let's Encrypt client and ACME library written in Go (Lego). In versions 4.25.1 and below, the github.com/go-acme/lego/v4/acme/api package (thus the lego library and the lego cli as well) don't enforce HTTPS when talking to CAs as an ACME client. Unlike the http-01 challenge which solves an ACME challenge over unencrypted HTTP, the ACME protocol requires HTTPS when a client communicates with the CA to performs ACME functions. However, the library fails to enforce HTTPS both in the original discover URL (configured by the library user) and in the subsequent addresses returned by the CAs in the directory and order objects. If users input HTTP URLs or CAs misconfigure endpoints, protocol operations occur over HTTP instead of HTTPS. This compromises privacy by exposing request/response details like account and request identifiers to network attackers. This was fixed in version 4.25.2.

The record
Technical detail
CVSS v4.0
2.3 · LOW
Vector
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:U
EPSS
0.00224 · 12.3th percentile
Weakness
CWE-319 · Cleartext Transmission of Sensitive Information
Published
2025-08-07T00:04Z
EPSS history
Timeline
  • 07 AUG 00:04Z
    Lego does not enforce HTTPS
    cvelistv5