HashiCorp Consul

HashiCorp·Hashicorp.Consul

A distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.

Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure. Consul provides several key features: - Multi-Datacenter - Consul is built to be datacenter aware, and can support any number of regions without complex configuration. - Service Mesh - Consul Service Mesh enables secure service-to-service communication with automatic TLS encryption and identity-based authorization. Applications can use sidecar proxies in a service mesh configuration to establish TLS connections for inbound and outbound connections with Transparent Proxy. - API Gateway - Consul API Gateway manages access to services within Consul Service Mesh, allow users to define traffic and authorization policies to services deployed within the mesh. - Service Discovery - Consul makes it simple for services to register themselves and to discover other services via a DNS or HTTP interface. External services such as SaaS providers can be registered as well. - Health Checking - Health Checking enables Consul to quickly alert operators about any issues in a cluster. The integration with service discovery prevents routing traffic to unhealthy hosts and enables service level circuit breakers. - Dynamic App Configuration - An HTTP API that allows users to store indexed objects within Consul, for storing configuration parameters and application metadata.

winget install --id Hashicorp.Consul --exact --source winget

Latest 2.0.4·September 10, 2026

Release Notes

BREAKING CHANGES:

  • acl: Tokens that hold service:write but not mesh:write will now receive a permission-denied error when attempting to attach builtin/lua or builtin/wasm EnvoyExtensions (or upstream envoy_listener_json/envoy_cluster_json escape-hatch overrides) to a service-defaults config entry, or when registering a connect-proxy sidecar with bootstrap or xDS escape-hatch keys set in the top-level Proxy.Config map or per-upstream in Proxy.Upstreams[*].Config. Operators must grant mesh:write to any token that legitimately needs these capabilities. [GH-23864]
  • fips: (Enterprise only) FIPS release artifacts are renamed. Version metadata changes from +ent.fips1402 to +ent.fips1403, and package and container artifacts change from the F2 suffix to F3 (for example, consul-F2_1.20.4-1_amd64.deb becomes consul-F3_1.20.4-1_amd64.deb). Pipelines that pin FIPS artifact names or version strings must be updated. SECURITY:
  • Upgrade go version to 1.26.7 to address security vulnerabilities. [GH-23869]
  • acl: Require mesh:write in addition to service:write when attaching code-executing EnvoyExtensions (builtin/lua, builtin/wasm) or upstream escape-hatch overrides (envoy_listener_json, envoy_cluster_json in UpstreamConfig defaults or overrides) to a service-defaults config entry. Previously a holder of service:write on a service could attach a Lua script or Wasm module, or an upstream escape-hatch override, that Envoy compiled and executed on every proxied request as the sidecar process user, with access to mTLS private keys, request bodies, and the host filesystem. [GH-23864]
  • acl: Require mesh:write in addition to service:write when registering a connect-proxy sidecar with bootstrap or xDS escape-hatch keys, whether set in the top-level Proxy.Config map or per-upstream in Proxy.Upstreams[*].Config (envoy_bootstrap_json_tpl, envoy_extra_static_listeners_json, envoy_public_listener_json, envoy_listener_json, envoy_cluster_json, envoy_local_cluster_json, envoy_extra_static_clusters_json, envoy_extra_stats_sinks_json, envoy_tracing_json, envoy_stats_config_json, envoy_listener_tracing_json). Key matching is case-insensitive to match the mapstructure decoding used downstream. Previously a holder of service:write on the proxy and its destination could inject arbitrary Envoy filter chain configuration into the sidecar bootstrap or xDS resources, including via a per-upstream override or a mixed-case key. [GH-23864]
  • agent: Fixed a pre-authorization memory exhaustion vulnerability where an mTLS-authenticated RPC client with no ACL token could terminate a Consul server by sending a MessagePack request header with a large declared length. The MessagePack decoder allocated a byte slice of the declared size before method lookup, ACL token validation, or the rate-limiting interceptor could run, allowing a single oversized header to OOM-kill the server process. Two mitigations are applied:
  1. Each RPC request header is now validated against RPCMaxHeaderBytes (default 512 bytes) before it is decoded. Every length prefix in the header is checked against the limit, so an oversized value is rejected before the decoder allocates memory for it, and the connection is closed before any ACL evaluation. Request bodies remain unbounded by this limit.
  2. A per-request read deadline (reusing RPCHandshakeTimeout) is applied inside handleConsulConn and handleInsecureConn so that a slow attacker trickling an oversized header cannot retain a goroutine and logical heap indefinitely.
  • catalog: Fixed an incorrect authorization vulnerability where a local ACL token with service:write or node:write could delete peer-imported catalog objects by supplying a non-default PeerName in a Catalog.Deregister request. Authorization was checked only against the local service or node name, not the peer origin, allowing deletion of objects in a peer-scoped catalog namespace the caller does not control. Catalog.Deregister now rejects any request whose PeerName is not the default, mirroring the existing guard on Catalog.Register and Catalog.ListServices. Legitimate peer-state deletion continues through the internal PeeringBackend.CatalogDeregister path.
  • security: Upgrade golang.org/x/mod to v0.41.0, golang.org/x/crypto to v0.57.0, and golang.org/x/net to v0.59.0 to address security vulnerabilities. [GH-23913]
  • xds: escape regex metacharacters in service name, namespace, partition, and trust domain values when building Envoy RBAC SPIFFE match patterns, preventing an intention/authorization bypass via regex injection. IMPROVEMENTS:
  • fips: (Enterprise only) Migrate FIPS builds from FIPS 140-2 (BoringCrypto/CNG cgo toolchain) to FIPS 140-3 using the Go Cryptographic Module (GOFIPS140=v1.0.0, CMVP Certificate #5247). The runtime FIPS line now reports FIPS 140-3 Enabled, crypto module v1.0.0. FIPS builds no longer require cgo or a vendored Go toolchain. FIPS 140-2 and FIPS 140-3 agents are permitted to join the same cluster; rolling upgrades from +ent.fips1402 to +ent.fips1403 are supported. BUG FIXES:
  • api-gateway: Fix a cold-start crash where an api-gateway's Envoy proxy could segfault during worker startup when a route's failover upstream was rendered as an aggregate cluster before its endpoints were assembled. Consul now holds each xDS stream's first push until the gateway's discovery-chain endpoints are ready (per-stream, first-push only, skipped for streams Envoy resumes, and bounded by a 30s deadline), and renders a failover upstream as a plain EDS cluster instead of an aggregate whenever its member endpoints are not yet available -- restoring full failover automatically once they arrive. Steady-state updates are never withheld. [GH-23892]
  • mesh: (Enterprise only) Fix named-port upstreams to a multiport service that has a configured service-router, service-splitter, or service-resolver. The service's declared default port continues to follow the configured discovery chain, while other named ports connect directly to that port on the root service instead of failing. Upstreams that do not name a port resolve through the default port.

Installer type: zip

x86—2DF95A269856A9771B76B1A85FC0C4A366885C85E025C801018DB23CF744CEA2
x64—53430F0D0D28207005A40116F8D318AEF023D3E44CAD03AFFA29DDC3B6D43172

Details

Homepage
https://github.com/hashicorp/consul
License
BUSL-1.1
Support
https://github.com/hashicorp/consul/issues
Copyright
Copyright (c) 2026 HashiCorp, Inc.

Tags

api-gatewayecskubernetesservice-discoveryservice-meshvault

Older versions (23)

2.0.3
x86—3B1975AD61634EC7775450C6A0D97DBDA8564ECE511EC7B1603C074D731E9227
x64—B7C642E81FD2724F207E4CF2AEC3D145302556BE31B0B24BD17D3D5507033BCA
2.0.2
x86—81AEF945E9DC4F77AA81D1C116201924DF59D6EF8C6F04A5C2E8310C63DA870C
x64—A4D614026C67A460602727D75CA531BF410F5D31F44FC2D7DB6582B00505DA46
2.0.1
x86—35AAC290676C14D67D7D9F41EBBB4D3C3D10B01E22B4C0D5F71AB24355D4CB1E
x64—699B6AFC58083B191B77BC819C81545783C9AEB59B841878EFEDCCD84751326C
2.0.0
x86—C41C1ED636CF89E5359C6C17CCA7A35BA6698161AD74DC710661F8A1D3F71EBA
x64—1D4197DD2ADA6173DFA7106924EFECFD629102C81DFB9F8A3F3DF5D6BF96BFFB
1.22.7
x86—B7884EC4147F9750731D070F759B622F55F9211E654BFCCCBB80091D97EC39BB
x64—04B719261FA442A0498F9DE7CF434341A531A74F11910DB2463C6A0F91E829FC
1.22.6
x86—4F596B38289A7F364228CE464F22358FBFC1A60315B4BE8BBC8697317AFBC6D4
x64—8329271E8D6094D88960816269B983D473923B94F45C2D7186BE0B7D84D3A40B
1.22.5
x86—2BD0AB13F4EB75E3486683859D8F96FB45B96738E621FDCF514BF8F9C99D2172
x64—45486AD0436D8F1DFC2A5B06A2F8D0207EC247CCB95C9F76AD389607CA00911D
1.22.4
x86—C7D08092520ED6F060E7781EAC171337300EA80AE42BD0B5101ADC43CF190B5F
x64—3D483B11EECB3CAEBCF449BCC19E720AC4D05022A05E0B5DDCA65EFC5012E294
1.22.3
x86—7DF5B87E294462CEDBADFA115F04298E4B1323222A63F7B02881B18D571C6922
x64—137765EF21B78C830FF32863E8F90343D1DAB8866544B60C17412CBAAAAC7AB8
1.22.2
x86—11C0370B956117AB2B4567EC7CE0D93E1811152D1669E43F9B0A1F7EFDDBDFBA
x64—7B8A3BB723017D1BE87DECF3A7BB12661C36E43EBA8283B8C04ECA60501493EC
1.22.1
x86—9676144D944A78A1503D7466D52E520C9088B49962E2EBBC30CF1CF93F584764
x64—F98D33DF899AFB3BACAB20D2FFC702E62F30CDCA82AE65BAD831BC332B3DEB27
1.22.0
x86—E04658DA30BFDBB259665708FFA8156A39B71D7951056051707A43C829ED3C57
x64—C31FB78490D7B5CD883A1DF749B191AD01EE1F0A830B3D815FC4466045EE6270
1.21.5
x86—0B0DA391503957808CE5473947A578EA698573C1433CDC1FFFB083493A049266
x64—D6B11264A7E8DE20AAC0975FF92255A8DF08C47267D8B2338860E777A5774E32
1.21.4
x86—0CCEE866DFD957D01EA1294D80727A5277F49A8D9F58813420F5C81425C1481A
x64—7C4656A1F352F1170B3AD6AAD0FEFE5176ADEDA75964D0442B89615B875E7A26
1.21.3
x86—7D42E1C212AE13AE996ACD48EA742160224441DDD6D514E26F356085A57D47D3
x64—6916720B286B00C25650FD35AD49F6D3759D9F89ACC806D183012456F6EE91A0
1.21.2
x86—4EC9B3E82FFF8EDD3144E51872119BBCB01373C8861A497C53E05D2F792E36F1
x64—7D70101FC9E179D85F3C8C41A02E6E546FB7D208807E5908A44C164994501462
1.21.1
x86—CCF88581F45E15E0E31CAC38B2B8B16D282533E172FD5F42CCFD017B0233AC9C
x64—06945963A76BC00F4F976B2BB48E05CC9CAB23311123C3AD1A2253DBBEB10F8C
1.21.0
x86—6A10E97A63B5377BB1E01CA491D96A181A92ACF388F061D7BC01B653FAD1F65B
x64—F4FB59CEA4FFABBBBEA801C9E0CD5F4218B90D6A3E67BF5EB9E138B6AA8B7E32
1.20.6
x86—EADB2614EB6D5063CDCD5F8AC0E4FF64084AC0A124399EF358D36E2578683458
x64—775B9C3085454CB0B4CC9745719760ED0A2690399D2DF2E7DBE2F9A9E6A29EED
1.20.5
x86—8EC63241FEEB055224DACB9ED8DBFF27C0F13C941C69B76925460C2ECCC81CD0
x64—C7D308B83A54DCA7A85B3E13EAF183B1B02C74F03072A1C4D54C128DED15C2DE
1.19.0
x86—CAC77EA7C6381CF60E448971EF0E75B5D1CD389009EF3968BF6468FF3812DD1E
x64—9EBD0052AFFA523F5E800455EC1A3BF11EB304CBACCE9FB6205C766824827EAE
1.18.0
x86—3A35D5A9B96D1D80D2BA9DAF05E5A6153A40B4E762A188874D01CB75947FDF29
x64—68A3A3313ACA0ED864DF4124F1528F8EA0B04C191E2BB7196C3FA87A5918B06D
1.15.3
x64—F975B84384FBA5064E29D300F4ED45EC6416769873029E0E4DD458058277D5C0
x86—24AD8D37BA7070FCE02C384F4FD6E0E92850BB44D63F6CA86B2C24B9D837E8E3