VYPR
Unrated severityNVD Advisory· Published Jun 20, 2026

AVideo - Unauthenticated PGP Message Decryption via decryptMessage.json.php Endpoint

CVE-2026-56346

Description

AVideo through version 25.0 contains an authentication bypass vulnerability in the decryptMessage.json.php endpoint that allows unauthenticated users to decrypt PGP messages. Remote attackers can submit private keys, ciphertext, and passphrases to perform server-side decryption without credentials, exposing key material to logs and enabling resource exhaustion attacks.

AI Insight

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

Affected products

1

Patches

Vulnerability mechanics

Root cause

"Missing authentication check on the decryptMessage.json.php endpoint allows unauthenticated PGP decryption."

Attack vector

An unauthenticated remote attacker sends a POST request to `/plugin/LoginControl/pgp/decryptMessage.json.php` with a JSON body containing a PGP private key, ciphertext, and passphrase [ref_id=1]. The server decrypts the message and returns the plaintext, requiring no session, token, or credential [ref_id=1]. This allows anyone who can reach the endpoint to offload decryption work to the server and exposes submitted private key material to server memory and logging infrastructure [ref_id=1].

Affected code

The endpoint at `decryptMessage.json.php` in the `plugin/LoginControl/pgp/` directory accepts a JSON body containing a private key, ciphertext, and passphrase, then passes them directly to the `decryptMessage()` function without any authentication check [ref_id=1].

What the fix does

The advisory recommends adding a `User::isLogged()` check (or equivalent session/authentication validation) at the top of `decryptMessage.json.php` before processing any user-supplied input [ref_id=1]. No patch diff is provided in the bundle, so the exact code change is not shown; however, the mitigation would prevent unauthenticated requests from reaching the decryption routine, closing the bypass [ref_id=1].

Preconditions

  • networkNetwork access to the AVideo server's `/plugin/LoginControl/pgp/decryptMessage.json.php` endpoint
  • inputAttacker must possess a PGP private key, matching ciphertext, and the key's passphrase

Reproduction

```bash curl -s -X POST \ "https://target.example.com/plugin/LoginControl/pgp/decryptMessage.json.php" \ -H "Content-Type: application/json" \ -d '{ "textToDecrypt": "-----BEGIN PGP MESSAGE-----\n<base64_ciphertext>\n-----END PGP MESSAGE-----", "privateKeyToDecryptMsg": "-----BEGIN PGP PRIVATE KEY BLOCK-----\n<base64_private_key>\n-----END PGP PRIVATE KEY BLOCK-----", "keyPassword": "passphrase" }' ``` [ref_id=1]

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

References

2

News mentions

0

No linked articles in our index yet.