GitHub Advisoryadvisory · Packagist

GHSA-mwjc-5j4x-r686 AVideo has an unauthenticated decrypt oracle leaking any ciphertext

HIGH Published 2026-03-20 Modified 2026-03-25 Official page ↗
Aliases
CVE-2026-33512
Ecosystem
Packagist
Packages
wwbn/avideo
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Weaknesses
CWE-287, CWE-312, CWE-326, CWE-327
Reviewed
2026-03-20

Affected packages

• Packagist wwbn/avideo: <= 26.0 (no fix yet)

Description

Summary The API plugin exposes a `decryptString` action without any authentication. Anyone can submit ciphertext and receive plaintext. Ciphertext is issued publicly (e.g., `view/url2Embed.json.php`), so any user can recover protected tokens/metadata. Severity: High. Details • Entry: `plugin/API/get.json.php` is unauthenticated. • Handler: `plugin/API/API.php` `get_api_decryptString()` (lines ~5945–5966): ```php $string = decryptString($_REQUEST['string']); return new ApiObject($string, empty($string)); ``` No APISecret or user check occurs before decrypting. • Public ciphertext source: `view/url2Embed.json.php` returns `playLink`/`playEmbedLink` (`encryptString(json_encode(...))`) to any caller. PoC 1. Obtain ciphertext: ``` GET /view/url2Embed.json.php?url=https://example.com/video.mp4 ``` Copy `playLink`. 2. Decrypt without auth: ``` POST /plugin/API/get.json.php?APIName=decryptString Content-Type: application/x-www-form-urlencoded string= ``` Response contains the plaintext JSON (videoLink, title, users_id, etc.). Impact • Any encrypted payload produced by the platform can be decrypted by anyone. • Leaks tokens/links intended to be confidential; enables replay and tampering where secrecy was assumed. Mitigation • Require API secret or authenticated/authorized user for `decryptString`, or remove the endpoint. • Prefer one-way signatures (HMAC) instead of exposing generic decryption. • Rotate encryption keys/salts after patch to invalidate exposed ciphertexts.

Related

Alias · CVE (1)

  • CVE-2026-33512 WWBN AVideo is an open source video platform. vulnerability

Weakness · CWE (4)

  • CWE-287 Improper Authentication weakness
  • CWE-312 Cleartext Storage of Sensitive Information weakness
  • CWE-326 Inadequate Encryption Strength weakness
  • CWE-327 Use of a Broken or Risky Cryptographic Algorithm weakness

References