Skip to main content
Testkube 2.7.0 is out! An improved resource management architecture and a new GitOps Agent, AI improvements, and more. Read More

testkube-api-server-2.7.2_linux_amd64

digestsha256:29c9cc88705fbcc951f1a715c4a028915d87b3d5b5bcb8a953c3c829a5543a2c
vulnerabilitiescritical: 1 high: 12 medium: 24 low: 4
platformlinux/amd64
size71 MB
packages265
critical: 1 high: 0 medium: 0 low: 0 google.golang.org/grpc 1.79.2 (golang)

pkg:golang/google.golang.org/grpc@1.79.2

# api-server.Dockerfile (32:32)
COPY --from=build /app /bin/app

critical 9.1: CVE--2026--33186 Improper Authorization

Affected range<1.79.3
Fixed version1.79.3
CVSS Score9.1
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
EPSS Score0.011%
EPSS Percentile1st percentile
Description

Impact

What kind of vulnerability is it? Who is impacted?

It is an Authorization Bypass resulting from Improper Input Validation of the HTTP/2 :path pseudo-header.

The gRPC-Go server was too lenient in its routing logic, accepting requests where the :path omitted the mandatory leading slash (e.g., Service/Method instead of /Service/Method). While the server successfully routed these requests to the correct handler, authorization interceptors (including the official grpc/authz package) evaluated the raw, non-canonical path string. Consequently, "deny" rules defined using canonical paths (starting with /) failed to match the incoming request, allowing it to bypass the policy if a fallback "allow" rule was present.

Who is impacted? This affects gRPC-Go servers that meet both of the following criteria:

  1. They use path-based authorization interceptors, such as the official RBAC implementation in google.golang.org/grpc/authz or custom interceptors relying on info.FullMethod or grpc.Method(ctx).
  2. Their security policy contains specific "deny" rules for canonical paths but allows other requests by default (a fallback "allow" rule).

The vulnerability is exploitable by an attacker who can send raw HTTP/2 frames with malformed :path headers directly to the gRPC server.

Patches

Has the problem been patched? What versions should users upgrade to?

Yes, the issue has been patched. The fix ensures that any request with a :path that does not start with a leading slash is immediately rejected with a codes.Unimplemented error, preventing it from reaching authorization interceptors or handlers with a non-canonical path string.

Users should upgrade to the following versions (or newer):

  • v1.79.3
  • The latest master branch.

It is recommended that all users employing path-based authorization (especially grpc/authz) upgrade as soon as the patch is available in a tagged release.

Workarounds

Is there a way for users to fix or remediate the vulnerability without upgrading?

While upgrading is the most secure and recommended path, users can mitigate the vulnerability using one of the following methods:

Add an "outermost" interceptor to your server that validates the path before any other authorization logic runs:

func pathValidationInterceptor(ctx context.Context, req any, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (any, error) {
if info.FullMethod == "" || info.FullMethod[0] != '/' {
return nil, status.Errorf(codes.Unimplemented, "malformed method name")
}
return handler(ctx, req)
}

// Ensure this is the FIRST interceptor in your chain
s := grpc.NewServer(
grpc.ChainUnaryInterceptor(pathValidationInterceptor, authzInterceptor),
)

2. Infrastructure-Level Normalization

If your gRPC server is behind a reverse proxy or load balancer (such as Envoy, NGINX, or an L7 Cloud Load Balancer), ensure it is configured to enforce strict HTTP/2 compliance for pseudo-headers and reject or normalize requests where the :path header does not start with a leading slash.

3. Policy Hardening

Switch to a "default deny" posture in your authorization policies (explicitly listing all allowed paths and denying everything else) to reduce the risk of bypasses via malformed inputs.

critical: 0 high: 4 medium: 7 low: 0 github.com/nats-io/nats-server/v2 2.12.5 (golang)

pkg:golang/github.com/nats-io/nats-server/v2@2.12.5

# api-server.Dockerfile (32:32)
COPY --from=build /app /bin/app

high 8.6: CVE--2026--33216 Plaintext Storage of a Password

Affected range
>=2.12.0-RC.1
<2.12.6
Fixed version2.12.6
CVSS Score8.6
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
Description

Background

NATS.io is a high performance open source pub-sub distributed communication technology, built for the cloud, on-premise, IoT, and edge computing.

The nats-server provides an MQTT client interface.

Problem Description

For MQTT deployments using usercodes/passwords: MQTT passwords are incorrectly classified as a non-authenticating identity statement (JWT) and exposed via monitoring endpoints.

Affected Versions

Any version before v2.12.6 or v2.11.15

Workarounds

Ensure monitoring end-points are adequately secured.

Best practice remains to not expose the monitoring endpoint to the Internet or other untrusted network users.

high 7.5: CVE--2026--33218 Improper Input Validation

Affected range
>=2.12.0-RC.1
<2.12.6
Fixed version2.12.6
CVSS Score7.5
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Description

Background

NATS.io is a high performance open source pub-sub distributed communication technology, built for the cloud, on-premise, IoT, and edge computing.

The nats-server allows hub/spoke topologies using "leafnode" connections by other nats-servers.

Problem Description

A client which can connect to the leafnode port can crash the nats-server with a certain malformed message pre-authentication.

Affected Versions

Any version before v2.12.6 or v2.11.15

Workarounds

  1. Disable leafnode support if not needed.
  2. Restrict network connections to your leafnode port, if plausible without compromising the service offered.

References

high 7.4: CVE--2026--33247 Insertion of Sensitive Information Into Debugging Code

Affected range
>=2.12.0-RC.1
<2.12.6
Fixed version2.12.6
CVSS Score7.4
CVSS VectorCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
Description

Background

NATS.io is a high performance open source pub-sub distributed communication technology, built for the cloud, on-premise, IoT, and edge computing.

The nats-server provides an optional monitoring port, which provides access to sensitive data. The nats-server can take certain configuration options on the command-line instead of requiring a configuration file.

Problem Description

If a nats-server is run with static credentials for all clients provided via argv (the command-line), then those credentials are visible to any user who can see the monitoring port, if that too is enabled.

The /debug/vars end-point contains an unredacted copy of argv.

Patches

Fixed in nats-server 2.12.6 & 2.11.15

Workarounds

The NATS Maintainers are bemused at the concept of someone deploying a real configuration using --pass to avoid a config file, but also enabling monitoring.

Configure credentials inside a configuration file instead of via argv.

Do not enable the monitoring port if using secrets in argv.

Best practice remains to not expose the monitoring port to the Internet, or to untrusted network sources.

high 7.1: CVE--2026--33217 Incorrect Authorization

Affected range
>=2.12.0-RC.1
<2.12.6
Fixed version2.12.6
CVSS Score7.1
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N
Description

Background

NATS.io is a high performance open source pub-sub distributed communication technology, built for the cloud, on-premise, IoT, and edge computing.

The nats-server provides an MQTT client interface.

Problem Description

When using ACLs on message subjects, these ACLs were not applied in the $MQTT.> namespace, allowing MQTT clients to bypass ACL checks for MQTT subjects.

Affected Versions

Any version before v2.12.6 or v2.11.15

Workarounds

None.

medium 6.5: CVE--2026--33215 Improper Authentication

Affected range
>=2.12.0-RC.1
<2.12.6
Fixed version2.12.6
CVSS Score6.5
CVSS VectorCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:L
Description

Background

NATS.io is a high performance open source pub-sub distributed communication technology, built for the cloud, on-premise, IoT, and edge computing.

The nats-server provides an MQTT client interface.

Problem Description

Sessions and Messages can by hijacked via MQTT Client ID malfeasance.

Affected Versions

Any version before v2.12.6 or v2.11.15

Workarounds

None.

Resources

medium 6.4: CVE--2026--33246 Improper Authentication

Affected range
>=2.12.0-RC.1
<2.12.6
Fixed version2.12.6
CVSS Score6.4
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
Description

Background

NATS.io is a high performance open source pub-sub distributed communication technology, built for the cloud, on-premise, IoT, and edge computing.

The nats-server allows hub/spoke topologies using "leafnode" connections by other nats-servers. NATS messages can have headers.

Problem Description

The nats-server offers a Nats-Request-Info: message header, providing information about a request. This is supposed to provide enough information to allow for account/user identification, such that NATS clients could make their own decisions on how to trust a message, provided that they trust the nats-server as a broker.

A leafnode connecting to a nats-server is not fully trusted unless the system account is bridged too. Thus identity claims should not have propagated unchecked.

Thus NATS clients relying upon the Nats-Request-Info: header could be spoofed.

Does not directly affect the nats-server itself, but the CVSS Confidentiality and Integrity scores are based upon what a hypothetical client might choose to do with this NATS header.

Affected Versions

Any version before v2.12.6 or v2.11.15

Workarounds

None.

medium 6.4: CVE--2026--33223 Authentication Bypass by Spoofing

Affected range
>=2.12.0-RC.1
<2.12.6
Fixed version2.12.6
CVSS Score6.4
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
Description

Background

NATS.io is a high performance open source pub-sub distributed communication technology, built for the cloud, on-premise, IoT, and edge computing.

The nats-server offers a Nats-Request-Info: message header, providing information about a request.

Problem Description

The NATS message header Nats-Request-Info: is supposed to be a guarantee of identity by the NATS server, but the stripping of this header from inbound messages was not fully effective.

An attacker with valid credentials for any regular client interface could thus spoof their identity to services which rely upon this header.

Affected Versions

Any version before v2.12.6 or v2.11.15

Workarounds

None.

medium 5.3: CVE--2026--33219 Allocation of Resources Without Limits or Throttling

Affected range
>=2.12.0-RC.1
<2.12.6
Fixed version2.12.6
CVSS Score5.3
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Description

Background

NATS.io is a high performance open source pub-sub distributed communication technology, built for the cloud, on-premise, IoT, and edge computing.

The nats-server offers a WebSockets client service, used in deployments where browsers are the NATS clients.

Problem Description

A malicious client which can connect to the WebSockets port can cause unbounded memory use in the nats-server before authentication; this requires sending a corresponding amount of data.

This is a milder variant of NATS-advisory-ID 2026-02 (aka CVE-2026-27571; GHSA-qrvq-68c2-7grw). That earlier issue was a compression bomb, this vulnerability is not. Attacks against this new issue thus require significant client bandwidth.

Affected Versions

Any version before v2.12.6 or v2.11.15

Workarounds

Disable websockets if not required for project deployment.

medium 4.9: CVE--2026--33222 Improper Authorization

Affected range
>=2.12.0-RC.1
<2.12.6
Fixed version2.12.6
CVSS Score4.9
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:N
Description

Background

NATS.io is a high performance open source pub-sub distributed communication technology, built for the cloud, on-premise, IoT, and edge computing.

The persistent storage feature, JetStream, has a management API which has many features, amongst which are backup and restore.

Problem Description

Users with JetStream admin API access to restore one stream could restore to other stream names, impacting data which should have been protected against them.

Affected Versions

Any version before v2.12.6 or v2.11.15

Workarounds

If developers have configured users to have limited JetStream restore permissions, temporarily remove those permissions.

medium 4.3: CVE--2026--33249 Incorrect Authorization

Affected range
>=2.12.0-preview.1
<2.12.6
Fixed version2.12.6
CVSS Score4.3
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
Description

Impact

A valid client which uses message tracing headers can indicate that the trace messages can be sent to an arbitrary valid subject, including those to which the client does not have publish permission. The payload is a valid trace message and not attacker chosen.

Patches

Fixed in nats-server 2.12.6 & 2.11.15

Workarounds

None safe to use.

medium 4.2: CVE--2026--33248 Improper Authentication

Affected range
>=2.12.0-RC.1
<2.12.6
Fixed version2.12.6
CVSS Score4.2
CVSS VectorCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N
Description

Background

NATS.io is a high performance open source pub-sub distributed communication technology, built for the cloud, on-premise, IoT, and edge computing.

One authentication model supported is mTLS, deriving the NATS client identity from properties of the TLS Client Certificate.

Problem Description

When using mTLS for client identity, with verify_and_map to derive a NATS identity from the client certificate's Subject DN, certain patterns of RDN would not be correctly enforced, allowing for authentication bypass.

This does require a valid certificate from a CA already trusted for client certificates, and DN naming patterns which the NATS maintainers consider highly unlikely.

So this is an unlikely attack. Nonetheless, administrators who have been very sophisticated in their DN construction patterns might conceivably be impacted.

Affected Versions

Fixed in nats-server 2.12.6 & 2.11.15

Workarounds

Developers should review their CA issuing practices.

critical: 0 high: 4 medium: 6 low: 0 libssl3 3.3.5-r0 (apk)

pkg:apk/alpine/libssl3@3.3.5-r0?arch=x86_64&distro=alpine-3.20.8&upstream=openssl

# api-server.Dockerfile (29:29)
FROM ${ALPINE_IMAGE}

high : CVE--2025--15467

Affected range<3.3.6-r0
Fixed version3.3.6-r0
EPSS Score0.819%
EPSS Percentile74th percentile
Description

high : CVE--2025--69421

Affected range<3.3.6-r0
Fixed version3.3.6-r0
EPSS Score0.034%
EPSS Percentile10th percentile
Description

high : CVE--2025--69420

Affected range<3.3.6-r0
Fixed version3.3.6-r0
EPSS Score0.290%
EPSS Percentile52nd percentile
Description

high : CVE--2025--69419

Affected range<3.3.6-r0
Fixed version3.3.6-r0
EPSS Score0.060%
EPSS Percentile19th percentile
Description

medium : CVE--2025--66199

Affected range<3.3.6-r0
Fixed version3.3.6-r0
EPSS Score0.064%
EPSS Percentile20th percentile
Description

medium : CVE--2025--15468

Affected range<3.3.6-r0
Fixed version3.3.6-r0
EPSS Score0.021%
EPSS Percentile6th percentile
Description

medium : CVE--2026--22795

Affected range<3.3.6-r0
Fixed version3.3.6-r0
EPSS Score0.024%
EPSS Percentile6th percentile
Description

medium : CVE--2026--22796

Affected range<3.3.6-r0
Fixed version3.3.6-r0
EPSS Score0.112%
EPSS Percentile30th percentile
Description

medium : CVE--2025--68160

Affected range<3.3.6-r0
Fixed version3.3.6-r0
EPSS Score0.024%
EPSS Percentile6th percentile
Description

medium : CVE--2025--69418

Affected range<3.3.6-r0
Fixed version3.3.6-r0
EPSS Score0.007%
EPSS Percentile1st percentile
Description
critical: 0 high: 1 medium: 9 low: 1 libcurl 8.14.1-r2 (apk)

pkg:apk/alpine/libcurl@8.14.1-r2?arch=x86_64&distro=alpine-3.20.8&upstream=curl

# api-server.Dockerfile (30:30)
RUN apk --no-cache add ca-certificates libssl3 git

high : CVE--2026--3805

Affected range<=8.14.1-r2
Fixed versionNot Fixed
EPSS Score0.039%
EPSS Percentile12th percentile
Description

medium : CVE--2026--3784

Affected range<=8.14.1-r2
Fixed versionNot Fixed
EPSS Score0.015%
EPSS Percentile3rd percentile
Description

medium : CVE--2026--1965

Affected range<=8.14.1-r2
Fixed versionNot Fixed
EPSS Score0.054%
EPSS Percentile17th percentile
Description

medium : CVE--2025--14017

Affected range<=8.14.1-r2
Fixed versionNot Fixed
EPSS Score0.007%
EPSS Percentile1st percentile
Description

medium : CVE--2025--13034

Affected range<=8.14.1-r2
Fixed versionNot Fixed
EPSS Score0.011%
EPSS Percentile1st percentile
Description

medium : CVE--2026--3783

Affected range<=8.14.1-r2
Fixed versionNot Fixed
EPSS Score0.016%
EPSS Percentile3rd percentile
Description

medium : CVE--2025--15079

Affected range<=8.14.1-r2
Fixed versionNot Fixed
EPSS Score0.035%
EPSS Percentile10th percentile
Description

medium : CVE--2025--14819

Affected range<=8.14.1-r2
Fixed versionNot Fixed
EPSS Score0.045%
EPSS Percentile14th percentile
Description

medium : CVE--2025--14524

Affected range<=8.14.1-r2
Fixed versionNot Fixed
EPSS Score0.026%
EPSS Percentile7th percentile
Description

medium : CVE--2025--10966

Affected range<=8.14.1-r2
Fixed versionNot Fixed
EPSS Score0.018%
EPSS Percentile5th percentile
Description

low : CVE--2025--15224

Affected range<=8.14.1-r2
Fixed versionNot Fixed
EPSS Score0.084%
EPSS Percentile24th percentile
Description
critical: 0 high: 1 medium: 1 low: 0 c-ares 1.33.1-r0 (apk)

pkg:apk/alpine/c-ares@1.33.1-r0?arch=x86_64&distro=alpine-3.20.8

# api-server.Dockerfile (30:30)
RUN apk --no-cache add ca-certificates libssl3 git

high : CVE--2025--31498

Affected range<=1.33.1-r0
Fixed versionNot Fixed
EPSS Score0.618%
EPSS Percentile70th percentile
Description

medium : CVE--2025--62408

Affected range<=1.33.1-r0
Fixed versionNot Fixed
EPSS Score0.019%
EPSS Percentile5th percentile
Description
critical: 0 high: 1 medium: 0 low: 0 github.com/docker/cli 29.2.1+incompatible (golang)

pkg:golang/github.com/docker/cli@29.2.1%2Bincompatible

# api-server.Dockerfile (32:32)
COPY --from=build /app /bin/app

high : CVE--2025--15558

Affected range>=19.03.0+incompatible
Fixed versionNot Fixed
EPSS Score0.020%
EPSS Percentile5th percentile
Description

Docker CLI Plugins: Uncontrolled Search Path Element Leads to Local Privilege Escalation on Windows in github.com/docker/cli

critical: 0 high: 1 medium: 0 low: 0 nghttp2-libs 1.62.1-r0 (apk)

pkg:apk/alpine/nghttp2-libs@1.62.1-r0?arch=x86_64&distro=alpine-3.20.8&upstream=nghttp2

# api-server.Dockerfile (30:30)
RUN apk --no-cache add ca-certificates libssl3 git

high : CVE--2026--27135

Affected range<=1.62.1-r0
Fixed versionNot Fixed
EPSS Score0.017%
EPSS Percentile4th percentile
Description
critical: 0 high: 0 medium: 1 low: 2 ssl_client 1.36.1-r30 (apk)

pkg:apk/alpine/ssl_client@1.36.1-r30?arch=x86_64&distro=alpine-3.20.8&upstream=busybox

# api-server.Dockerfile (29:29)
FROM ${ALPINE_IMAGE}

medium : CVE--2025--60876

Affected range<=1.36.1-r30
Fixed versionNot Fixed
EPSS Score0.064%
EPSS Percentile20th percentile
Description

low : CVE--2025--46394

Affected range<1.36.1-r31
Fixed version1.36.1-r31
EPSS Score0.083%
EPSS Percentile24th percentile
Description

low : CVE--2024--58251

Affected range<1.36.1-r31
Fixed version1.36.1-r31
EPSS Score0.077%
EPSS Percentile23rd percentile
Description
critical: 0 high: 0 medium: 0 low: 1 zlib 1.3.1-r1 (apk)

pkg:apk/alpine/zlib@1.3.1-r1?arch=x86_64&distro=alpine-3.20.8

# api-server.Dockerfile (29:29)
FROM ${ALPINE_IMAGE}

low : CVE--2026--27171

Affected range<=1.3.1-r1
Fixed versionNot Fixed
EPSS Score0.007%
EPSS Percentile1st percentile
Description