Skip to main content

Go Micro EUVDEUVD-2026-92119

| CVE-2026-105216 CRITICAL
Improper Certificate Validation (CWE-295)
2026-10-04 VulnCheck GHSA-p6q5-cmw8-pqqg
9.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain on-path network position
  2. Delivery
    Present forged TLS certificate
  3. Exploit
    Client skips certificate verification
  4. Execution
    Intercept and modify service traffic
  5. Impact
    Harvest auth tokens and credentials

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V12 - Secure Communication Certificate validation
Exploitation Conditions

Exploitation requires that the target application (a) uses go-micro's shared TLS helper to enable TLS for its transport, broker, or registry connections, and (b) runs a version before 6.0.0 without the v5 opt-in MICRO_TLS_SECURE=true, which leaves InsecureSkipVerify=true by default. Critically, the attacker must ALSO achieve a man-in-the-middle / on-path network position between the communicating components - reflected by CVSS AC:H and AT:P - since the flaw only enables certificate forgery, not remote code delivery on its own. Limiting factors: no exploitation is possible against plaintext (non-TLS) deployments, against v6.0.0+ where verification is on by default, or against v5 deployments that explicitly set MICRO_TLS_SECURE=true; and the required network interception capability substantially narrows the realistic attacker set.

Impact

This is a genuine, structurally serious flaw rather than an inflated high-CVSS score. The root cause is confirmed by source-code evidence: go-micro's shared TLS helper sets InsecureSkipVerify=true by default, and the v6.0.0 CHANGELOG explicitly confirms 'TLS verification is on by default' as a breaking change, meaning all v5 and earlier deployments that did not set MICRO_TLS_SECURE=true were silently vulnerable. The CVSS 4.0 vector (AV:N, PR:N, UI:N, VC:H, VI:H) correctly reflects unauthenticated network exploitation with high confidentiality and integrity impact. However, two signals temper the raw 9.1: AC:H and AT:P indicate exploitation is NOT trivial - the attacker must already hold a privileged on-path/man-in-the-middle position, which is a meaningful barrier. No EPSS score, no KEV listing, and no public POC are present in the input, so there is no evidence of active or at-scale exploitation; the realistic risk is targeted interception by an adversary who already controls a network segment (e.g., shared cloud fabric, compromised router, hostile service mesh hop). Net: high-priority to patch for anyone running go-micro with TLS, but the on-path prerequisite makes mass opportunistic exploitation unlikely.

Exploit ScenarioDerived

An attacker positioned on the network path between two go-micro services (for example on a shared cloud network segment or a compromised intermediate hop) presents an arbitrary self-signed certificate. Because the client's shared TLS helper has InsecureSkipVerify=true, the forged certificate is accepted without validation, letting the attacker transparently decrypt and modify gRPC, HTTP, RabbitMQ broker, and Consul/etcd registry traffic - harvesting authentication tokens and credentials in transit. No public exploit identified at time of analysis, though the trivial nature of a MITM TLS downgrade means weaponization would be straightforward for an on-path adversary.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 04, 2026

TLS certificate verification is disabled by default in go-micro before 6.0.0, allowing an unauthenticated on-path attacker to impersonate services and intercept or modify gRPC transport, HTTP and RabbitMQ broker, and Consul or etcd registry traffic - including authentication tokens and credentials. This is a genuine, structurally serious design defect (CWE-295, CVSS 9.1) rather than an inflated score, but successful exploitation requires both a TLS-enabled deployment that relies on the shared TLS helper and the attacker achieving a man-in-the-middle network position (reflected by AC:H and AT:P). No public exploit code and no confirmed active exploitation were identified at time of analysis; the vendor corrected the default in go-micro 6.0.0.

RemediationAI

The vendor-released patch is go-micro 6.0.0, which flips TLS verification on by default and removes the old MICRO_TLS_SECURE opt-in; upgrade with go install go-micro.dev/v6/cmd/micro@latest and migrate module imports from go-micro.dev/v5/... to go-micro.dev/v6/... (see the upstream commit c7657f73f45cf839e643db10f28703eeab7299c3 and the v5→v6 migration guide). Organizations unable to move to v6 immediately can mitigate on v5 by setting MICRO_TLS_SECURE=true in the environment of every service that uses the TLS helper, which restores chain and hostname verification; deployments that run entirely in plaintext (no TLS) are not exploitable and need no change, though that is obviously a weaker posture. As compensating controls, restrict service-to-service traffic to isolated network segments or service-mesh mTLS with pinned CAs to deny an on-path attacker the required interception position, and monitor for unexpected certificate subjects on gRPC, HTTP, RabbitMQ, Consul, and etcd connections - noting these controls reduce but do not eliminate risk if the on-path assumption holds. Do not use MICRO_TLS_INSECURE=true or tls.InsecureConfig() as a fix: that option exists only for self-signed development certificates and deliberately re-introduces the exact InsecureSkipVerify behavior this CVE describes.

Affected VersionsENISA

go-micro 0 <6.0.0

Affected Packages

euvd go_micro fix: 6.0.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause is CWE-295 (Improper Certificate Validation). Go Micro's shared TLS helper - internal/util/tls/tls.go, lines 43-67 in v5.30.0 - constructs a *tls.Config with InsecureSkipVerify set to true unless the environment variable MICRO_TLS_SECURE=true is explicitly set. In Go's crypto/tls, InsecureSkipVerify disables both certificate chain validation and hostname verification, so the client accepts literally any certificate a peer presents, including self-signed or attacker-generated ones. Because this helper is used centrally, the weakness propagates to every subsystem that consumes it: the gRPC transport, the HTTP and RabbitMQ brokers, and the Consul and etcd registries used for service discovery. CPE cpe:2.3:a:micro:go-micro:*:*:*:*:*:*:*:* confirms all releases prior to 6.0.0 are in scope, with the vulnerable code path publicly visible in the linked v5.30.0 source and issue #2963. An attacker with an on-path position can therefore terminate TLS with a forged certificate, transparently decrypting and modifying framework traffic and capturing bearer tokens and service credentials.

Know when Go Micro gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 9.1 CRITICAL
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 7.4 HIGH

AC:H and AT-equivalent on-path requirement because the attacker must already hold a MITM position; PR:N as no credentials are needed; C:H/I:H for interception and modification of traffic; A:N as availability is unaffected.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
High
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

go-micro before 6.0.0 contains an improper certificate validation vulnerability that allows network attackers to impersonate services because the shared TLS helper sets InsecureSkipVerify to true by default. Man-in-the-middle attackers can present any certificate to intercept or modify gRPC transport, HTTP and RabbitMQ broker, and Consul or etcd registry traffic, including authentication tokens and credentials.

Executive ViewAI

Why It Matters

Organizations using go-micro versions prior to 6.0.0 for service-to-service communications face a critical design flaw: TLS certificate verification is disabled by default, so a network-positioned attacker could impersonate services and access or alter sensitive traffic such as authentication tokens, credentials, and registry data. Leadership should care because this affects the confidentiality and integrity of internal microservice traffic, especially in TLS-enabled deployments that rely on the shared TLS helper. A vendor fix is available in go-micro 6.0.0, and no public exploit identified at time of analysis.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 92% exploitable
Prevalence
Medium
popular open-source Go microservices framework, common but not universally deployed
Social Media
2
Sightings
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy