Skip to content

Self-signed TLS key exposure for grocy-docker webserver images

Moderate
jayaddison published GHSA-fmgq-rqwp-fpwg Nov 29, 2022

Package

docker grocy/frontend (Docker)

Affected versions

<= 3.3.1-6

Patched versions

> 3.3.1-6
docker grocy/nginx (Docker)
<= 3.0.1-12
> 3.0.1-12

Description

Summary

Affected Grocy webserver images were bundled with a hard-coded, self-signed TLS certificate and key for use serving web traffic on hostname localhost.

Actions

If you believe that your containerized Grocy webserver was installed from one of the affected grocy-docker images as published on Docker Hub and served HTTPS traffic using one of the affected certificates, then please confirm the certificate details and upgrade the containers if necessary.

If your users accepted self-signed certificates from affected Grocy webserver containers as trusted, please ensure that their browser no longer includes those certificates/sites in their trust lists.

Instructions for inspecting and removal of manually-trusted certificates/site from some popular web browsers are listed below:

Impact

Although web browsers don't trust self-signed certificates by default, users may have clicked to ignore the warnings about offered certificates, accepting them as valid and affecting their browser's future trust behaviour.

In this case, the private keys for the affected certificates were included within Grocy webserver container images -- content that was available to the public -- meaning that use of these certificates did not provide reliable privacy guarantees.

Affected versions of the Grocy webserver container have been removed from Docker Hub.

Patches

Grocy container images published since 2022-11-13 no longer contain hard-coded TLS certificates and keys.

For sites that would like to continue to use self-signed certificates, please see the Containerfile-frontend-tls-selfsigned container build file which includes self-signed TLS certificate and key generation.

Workarounds

If you are unable to upgrade to a patched container image and would like to increase privacy when your Grocy instance is accessed over HTTPS, we recommend that you place an additional reverse proxy in front of Grocy, configure a valid site-specific TLS certificate for that proxy, and use other mechanisms to protect the network segment between the proxy and Grocy.

Severity

Moderate

CVSS overall score

This score calculates overall vulnerability severity from 0 to 10 and is based on the Common Vulnerability Scoring System (CVSS).
/ 10

CVSS v3 base metrics

Attack vector
Adjacent
Attack complexity
High
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

CVSS v3 base metrics

Attack vector: More severe the more the remote (logically and physically) an attacker can be in order to exploit the vulnerability.
Attack complexity: More severe for the least complex attacks.
Privileges required: More severe if no privileges are required.
User interaction: More severe when no user interaction is required.
Scope: More severe when a scope change occurs, e.g. one vulnerable component impacts resources in components beyond its security scope.
Confidentiality: More severe when loss of data confidentiality is highest, measuring the level of data access available to an unauthorized user.
Integrity: More severe when loss of data integrity is the highest, measuring the consequence of data modification possible by an unauthorized user.
Availability: More severe when the loss of impacted component availability is highest.
CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N

CVE ID

No known CVE

Weaknesses