Description
Convoy is a KVM server management panel for hosting businesses. From version 3.9.0-beta to before version 4.5.1, the JWTService::decode() method did not verify the cryptographic signature of JWT tokens. While the method configured a symmetric HMAC-SHA256 signer via lcobucci/jwt, it only validated time-based claims (exp, nbf, iat) using the StrictValidAt constraint. The SignedWith constraint was not included in the validation step. This means an attacker could forge or tamper with JWT token payloads — such as modifying the user_uuid claim — and the token would be accepted as valid, as long as the time-based claims were satisfied. This directly impacts the SSO authentication flow (LoginController::authorizeToken), allowing an attacker to authenticate as any user by crafting a token with an arbitrary user_uuid. This issue has been patched in version 4.5.1.
Published: 2026-04-02
Score: 9.8 Critical
EPSS: n/a
KEV: No
Impact: Authentication Bypass
Action: Immediate Patch
AI Analysis

Impact

The vulnerability resides in the JWTService::decode() method where the cryptographic signature of JWT tokens was never validated. This omission allowed an attacker to forge or modify the token payload, such as changing the user_uuid claim, while still passing time‑based checks. As a result, authentication as any user was possible through the SSO flow without a valid login. The weakness is a clear abuse of authentication logic, letting an attacker gain unauthorized access to the platform.

Affected Systems

ConvoyPanel:panel, a KVM server management panel used by hosting vendors, is affected in releases from version 3.9.0‑beta up to, but excluding, 4.5.1. The fix was introduced in 4.5.1, which implementation now verifies JWT signatures with the SignedWith constraint.

Risk and Exploitability

With a CVSS score of 9.8 the flaw is considered critical. No EPSS data is publicly available, but the lack of signature validation makes exploitation trivial for anyone who can craft a token. It is not listed in the CISA KEV catalog at the time of writing, yet organizations using the vulnerable ConvoyPanel version should treat it as a top‑priority risk. The most likely attack vector is the web interface's SSO authentication endpoint, where a crafted JWT can be submitted to obtain full user privileges.

Generated by OpenCVE AI on April 2, 2026 at 16:20 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade ConvoyPanel to version 4.5.1 or later, which restores JWT signature verification.
  • Confirm that the updated login flow is active and that only signed tokens are accepted.
  • Validate that user_uuid values cannot be arbitrarily set by testing with a fabricated token and reviewing logs for rejected attempts.

Generated by OpenCVE AI on April 2, 2026 at 16:20 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 02 Apr 2026 20:30:00 +0000

Type Values Removed Values Added
First Time appeared Convoypanel
Convoypanel panel
Vendors & Products Convoypanel
Convoypanel panel

Thu, 02 Apr 2026 15:45:00 +0000

Type Values Removed Values Added
Description Convoy is a KVM server management panel for hosting businesses. From version 3.9.0-beta to before version 4.5.1, the JWTService::decode() method did not verify the cryptographic signature of JWT tokens. While the method configured a symmetric HMAC-SHA256 signer via lcobucci/jwt, it only validated time-based claims (exp, nbf, iat) using the StrictValidAt constraint. The SignedWith constraint was not included in the validation step. This means an attacker could forge or tamper with JWT token payloads — such as modifying the user_uuid claim — and the token would be accepted as valid, as long as the time-based claims were satisfied. This directly impacts the SSO authentication flow (LoginController::authorizeToken), allowing an attacker to authenticate as any user by crafting a token with an arbitrary user_uuid. This issue has been patched in version 4.5.1.
Title Convoy: JWT Signature Verification Bypass Allows Authentication as Arbitrary Users
Weaknesses CWE-287
CWE-347
References
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Subscriptions

Convoypanel Panel
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-04-02T18:50:14.459Z

Reserved: 2026-03-23T18:30:14.124Z

Link: CVE-2026-33746

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-04-02T16:16:22.803

Modified: 2026-04-02T16:16:22.803

Link: CVE-2026-33746

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-04-02T20:20:11Z

Weaknesses