eclipse-mosquitto

The official Eclipse Mosquitto image — a lightweight, open-source MQTT message broker for IoT and edge messaging, supporting MQTT 5.0, 3.1.1, and 3.1 publish/subscribe communication.

eclipse mosquitto, mosquitto, mqtt, iot, message broker, edge

What is Eclipse Mosquitto?

The Eclipse Mosquitto image packages the Mosquitto MQTT broker so you can run a lightweight publish/subscribe message broker in a container. MQTT is the dominant messaging protocol for IoT and edge environments, connecting sensors, devices, gateways, and backend systems over constrained or unreliable networks, and Mosquitto implements MQTT versions 5.0, 3.1.1, and 3.1 with a very small footprint. The image listens on port 1883 for plain connections and 8883 for TLS by default, is configured through mosquitto.conf with options for authentication, access control lists, persistence, and bridging to other brokers, and also ships the mosquitto_pub and mosquitto_sub client tools. It is used by IoT and industrial teams, by home-automation and telemetry platforms, and by platform teams running an MQTT broker on Kubernetes or at the edge with a reproducible, version-pinned image.

What is Echo's Eclipse Mosquitto image?

Echo's Eclipse Mosquitto image is a hardened build of Eclipse Mosquitto on Echo's hardened base. Echo images are designed to be a drop-in replacement: swap the image reference in your Dockerfile or deployment manifest and CVEs go to zero without disrupting your mosquitto.conf settings, listeners, ACLs, and persistence volumes. Every image is tested across clouds, image use cases, and deployment targets. Echo ships every image in two variants:

  • Distroless variant — optimized for runtime use, with the smallest possible attack surface
  • Default variant — includes essential build tools, package managers, and shells for teams that need operational access

For production Eclipse Mosquitto deployments, the distroless variant keeps all runtime operations — client connections, topic routing, message persistence, and broker bridging — fully intact while minimizing exposure; the default variant suits IoT and platform teams that need shell access for testing with mosquitto_pub and mosquitto_sub, editing mosquitto.conf, or diagnosing client connections.

What is the difference between Echo's Eclipse Mosquitto image and the public Eclipse Mosquitto image?

Public Eclipse Mosquitto images ship on bases that include OS-level tooling convenient for development but which contribute CVEs that accumulate on a message broker used in production. Eclipse Mosquitto images run continuously with access to device credentials, topic data, and TLS keys. OS-level CVEs in the base image — particularly in libraries such as openssl, libwebsockets, and c-ares — create exploitable paths that bypass application-layer controls entirely, allowing attackers to move from a network-reachable service to host-level access. For teams running Eclipse Mosquitto across many environments, the image is also a steady source of scanner noise in the CI pipeline — every package in the base becomes a finding your security team must triage, even when none of it is reachable from the service. Echo's build retains everything Eclipse Mosquitto needs for client connections, topic routing, message persistence, and broker bridging while removing the packages that don't belong in a production Eclipse Mosquitto message broker. As we covered in our post on how to protect your company from software supply chain attacks, long-running services that hold sensitive data and listen on the network are among the widest attack surfaces in the container stack. Echo commits to a 7-day SLA for critical and high severity vulnerabilities, and 10 days for medium, low, and unknown — with vulnerabilities triaged within 24 hours. Echo images are recognized by all major scanners and mirrored to all major registries, so they fit into existing pipelines without changing your registry, scanner, or runtime tooling.

FAQ

Can I replace my Eclipse Mosquitto image with Echo's Eclipse Mosquitto image?

Yes. Echo's Eclipse Mosquitto image is a drop-in replacement. Update the FROM line in your Dockerfile and your workloads keep running. Listener configuration, password files, ACLs, TLS settings, persistence volumes, and bridge definitions all continue to work without changes to your devices, topics, or client configuration.

Is Echo's Eclipse Mosquitto image FIPS-validated?

Yes. Echo's FIPS-validated images use cryptographic modules with an active FIPS 140-3 CMVP certificate, making them fit for federal use — unlike FIPS-compliant images that haven't been validated. This matters for teams running Eclipse Mosquitto workloads inside FedRAMP boundaries, where a message broker that accepts network connections from many devices and routes their messages must meet cryptographic requirements across the full stack — including the OpenSSL and TLS libraries bundled with the Eclipse Mosquitto image.

What is Echo's vulnerability management SLA on the Eclipse Mosquitto image?

Echo commits to a 7-day SLA for critical and high severity vulnerabilities, and 10 days for medium, low, and unknown — with vulnerabilities triaged within 24 hours. Patches are mirrored automatically into your private registry so you're always running a clean version — critical for a long-running service that holds device credentials, topic data, and TLS keys and is reachable over the network.

Is Echo's Eclipse Mosquitto image distroless?

Echo ships every image in two variants: a distroless variant optimized for runtime use, and a default variant that includes essential build tools, package managers, and shells. For production Eclipse Mosquitto deployments, the distroless variant is the leaner, more secure choice; for IoT and platform teams that need shell access for testing with mosquitto_pub and mosquitto_sub, editing mosquitto.conf, or diagnosing client connections, the default variant is the right fit.

How does Echo achieve such a drastic CVE reduction in Eclipse Mosquitto?

Echo's Eclipse Mosquitto image is built from source with only the absolute essentials needed to run the Eclipse Mosquitto message broker, which significantly shrinks the attack surface. Echo also patches aggressively over time, with backports available so you can stay on the Eclipse Mosquitto version your applications and their dependencies are certified against — avoiding a disruptive upgrade forced purely by OS-level vulnerabilities in the base image rather than by your own requirements.

Will Echo's Eclipse Mosquitto image help us achieve FedRAMP?

Yes. The hard parts of FedRAMP — managing vulnerabilities, applying fixes, and using FIPS-validated cryptography — are baked into Echo images, including STIG-hardened configuration and ConMon/POA&M-ready reporting. For IoT and platform teams running Eclipse Mosquitto under an ATO — whether that's a sensor telemetry backbone, an industrial control gateway, or an edge messaging layer supporting government facilities — Echo's hardened Eclipse Mosquitto image keeps the message broker layer in-boundary and compliant without requiring custom hardening scripts or manual base image patching between compliance cycles.

‍

Interested in base images that start and stay clean?