VYPR
Critical severityNVD Advisory· Published Nov 19, 2020· Updated Aug 5, 2024

CVE-2019-20933

CVE-2019-20933

Description

InfluxDB before 1.7.6 has an authentication bypass vulnerability in the authenticate function in services/httpd/handler.go because a JWT token may have an empty SharedSecret (aka shared secret).

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

InfluxDB before 1.7.6 allows authentication bypass via JWT tokens with an empty shared secret, granting unauthorized administrative access.

Vulnerability

CVE-2019-20933 is an authentication bypass vulnerability in InfluxDB versions prior to 1.7.6. The flaw resides in the authenticate function within services/httpd/handler.go. When a JSON Web Token (JWT) is supplied with an empty SharedSecret (shared secret), the authentication check is improperly bypassed, allowing an attacker to forge valid tokens without knowing the correct secret. [1][2]

Exploitation

An attacker can exploit this vulnerability by crafting a JWT with an empty secret and presenting it to the InfluxDB HTTP API. No prior authentication or special network position is required—the attacker only needs network access to the InfluxDB endpoint. Tools such as jwt_tool can be used to generate tokens with an empty signature, simplifying exploitation. [3][4]

Impact

Successful exploitation grants the attacker unauthenticated access to InfluxDB with full administrative privileges (typically the admin user). This enables reading, writing, or deleting any database, creating new users, and modifying system configurations. The vulnerability poses a critical risk to data confidentiality, integrity, and availability.

Mitigation

The issue was fixed in InfluxDB version 1.7.6. Users must upgrade to this version or later. No workarounds are available for affected versions. Administrators should also review access logs for signs of unauthorized activity. [2][3]

AI Insight generated on May 21, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
github.com/influxdata/influxdbGo
< 1.7.61.7.6

Affected products

67

Patches

2
01c8dd416270

chore(doc): Update CHANGELOG (#13445)

https://github.com/influxdata/influxdbGershon ShifApr 16, 2019via osv
1 file changed · +16 2
  • CHANGELOG.md+16 2 modified
    @@ -1,11 +1,25 @@
    -v1.7.6 [unreleased]
    +v1.7.7 [unreleased]
     -------------------
     
    --	[#13167](https://github.com/influxdata/influxdb/pull/13168): Track prom remote read request stats.
    +v1.7.6 [2019-04-16]
    +-------------------
     
     ### Bugfixes
     
    +-	[#13067](https://github.com/influxdata/influxdb/pull/13067): Ensure credentials are passed for Flux queries when using influx command.
    +-	[#13098](https://github.com/influxdata/influxdb/pull/13098): Back port of data generate improvements.
    +-	[#13132](https://github.com/influxdata/influxdb/pull/13132): Fix security vulnerability when shared secret is blank.
     -	[#13150](https://github.com/influxdata/influxdb/pull/13150): Add nil check for tagKeyValueEntry.setIDs().
    +-	[#13160](https://github.com/influxdata/influxdb/pull/13160): Drop all unsupported Prometheus values written to the remote write endpoint.
    +-	[#13206](https://github.com/influxdata/influxdb/pull/13206): Update predicate key mapping to match 2.x behavior.
    +-	[#13330](https://github.com/influxdata/influxdb/pull/13330): Fix panic in Prometheus read API.
    +-	[#13338](https://github.com/influxdata/influxdb/pull/13338): Add a version constraint for influxql.
    +
    +### Features
    +
    +-	[#13049](https://github.com/influxdata/influxdb/pull/13049): Upgrade flux to the latest version and remove the platform dependency.
    +-	[#13121](https://github.com/influxdata/influxdb/pull/13121): Upgrade flux to 0.24.0.
    +-	[#13168](https://github.com/influxdata/influxdb/pull/13168): track remote read requests to prometheus remote read handler.
     
     v1.7.5 [2019-03-26]
     -------------------
    
761b557315ff

fix(httpd): fail bearerauth if shared secret blank

https://github.com/influxdata/influxdbDavid NortonApr 2, 2019via ghsa
2 files changed · +23 0
  • services/httpd/handler.go+5 0 modified
    @@ -1581,6 +1581,11 @@ func authenticate(inner func(http.ResponseWriter, *http.Request, meta.User), h *
     					return
     				}
     			case BearerAuthentication:
    +				if h.Config.SharedSecret == "" {
    +					atomic.AddInt64(&h.stats.AuthenticationFailures, 1)
    +					h.httpError(w, "bearer auth disabled", http.StatusUnauthorized)
    +					return
    +				}
     				keyLookupFn := func(token *jwt.Token) (interface{}, error) {
     					// Check for expected signing method.
     					if _, ok := token.Method.(*jwt.SigningMethodHMAC); !ok {
    
  • services/httpd/handler_test.go+18 0 modified
    @@ -232,6 +232,24 @@ func TestHandler_Query_Auth(t *testing.T) {
     		t.Fatalf("unexpected body: %s", body)
     	}
     
    +	// Test that auth fails if shared secret is blank.
    +	origSecret := h.Config.SharedSecret
    +	h.Config.SharedSecret = ""
    +	token, _ = MustJWTToken("user1", h.Config.SharedSecret, false)
    +	signedToken, err = token.SignedString([]byte(h.Config.SharedSecret))
    +	if err != nil {
    +		t.Fatal(err)
    +	}
    +	req.Header.Set("Authorization", fmt.Sprintf("Bearer %s", signedToken))
    +	w = httptest.NewRecorder()
    +	h.ServeHTTP(w, req)
    +	if w.Code != http.StatusUnauthorized {
    +		t.Fatalf("unexpected status: %d: %s", w.Code, w.Body.String())
    +	} else if body := strings.TrimSpace(w.Body.String()); body != `{"error":"bearer auth disabled"}` {
    +		t.Fatalf("unexpected body: %s", body)
    +	}
    +	h.Config.SharedSecret = origSecret
    +
     	// Test the handler with valid user and password in the url and invalid in
     	// basic auth (prioritize url).
     	w = httptest.NewRecorder()
    

Vulnerability mechanics

Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

9

News mentions

0

No linked articles in our index yet.