ZeroHour

CVE-2026-90651

niche

Disabled TLS Certificate Verification in Socket Firewall Registry Mode Before 2.0.0

CVSS 3.1
8.1 high
EPSS
Published
()
Modified
AI analysis

Socket Firewall (socketdev/socket-registry-firewall) in registry mode before version 2.0.0 generates configuration with SOCKET_API_SSL_VERIFY='false' and UPSTREAM_SSL_VERIFY='false' whenever the api_ssl_verify and upstream_ssl_verify keys are omitted from socket.yml, causing the OpenResty/Lua HTTP client to accept any certificate, including self-signed or untrusted ones, without chain validation. A network-level man-in-the-middle positioned between the firewall and the Socket API or an upstream package registry can present a crafted certificate and modify traffic in transit. This allows substitution of malicious package content served to builds as well as tampering with the allow/block decisions the firewall enforces, undermining the tool's core supply-chain security purpose. All self-hosted registry-mode deployments before 2.0.0 that rely on the default settings are affected; on versions before 1.1.334, even explicitly enabling verification failed without manually patching the generated nginx configuration because lua_ssl_trusted_certificate was not emitted. No public proof of concept is known and the vulnerability is not listed in the CISA KEV catalog.

What to do: Upgrade Socket Firewall to version 2.0.0 or later, where TLS verification defaults to true for both the Socket API and upstream registries. If upgrading is not immediately possible, ensure you are on at least 1.1.334 and explicitly set api_ssl_verify: true and upstream_ssl_verify: true in socket.yml; on older versions you must manually add the lua_ssl_trusted_certificate directive to the generated nginx configuration for verification to actually work. Inspect generated configs for SOCKET_API_SSL_VERIFY='false'/'UPSTREAM_SSL_VERIFY='false', run the firewall only on trusted network paths in the meantime, and consider auditing packages fetched through affected instances for tampering.

Affected
socketdev socket-registry-firewall (Socket Firewall, registry mode)before 2.0.0 (api_ssl_verify and upstream_ssl_verify default to false; no TLS chain validation on upstream connections)
socketdev socket-registry-firewall (Socket Firewall, registry mode)before 1.1.334 (generated nginx config omits lua_ssl_trusted_certificate, so enabling verification requires manual patching)
Estimated exposure
nichelikely on the order of hundreds to low thousands of self-hosted deployments (estimate) — This is an open-source, self-hosted registry proxy with no public install or active-install counts, and deployments are typically internal CI/CD infrastructure that internet-wide scans would not fully enumerate, so the true count is…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

Socket Firewall (socketdev/socket-registry-firewall) in registry mode before 2.0.0 does not verify upstream TLS certificates by default. When the api_ssl_verify and upstream_ssl_verify configuration keys are omitted from socket.yml, the generated configuration sets SOCKET_API_SSL_VERIFY='false' and UPSTREAM_SSL_VERIFY='false', and the OpenResty/Lua HTTP client used for outbound requests accepts any certificate, including self-signed and otherwise untrusted certificates, without validating the chain. An attacker positioned to intercept traffic between Socket Firewall and the Socket API or an upstream package registry can present a crafted certificate and modify responses in transit, including substituting malicious package content or altering the allow/block decisions the firewall enforces. Setting api_ssl_verify: true and upstream_ssl_verify: true enables verification; however, in versions before 1.1.334, the generated nginx configuration did not emit lua_ssl_trusted_certificate, and thus verification could not be used successfully without manually patching the generated configuration. Version 2.0.0 changes the default for both settings to true.

Weakness
CWE-295
Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:H/A:L

In the news

No ingested article mentions this CVE yet.