GHSA-mwjc-5j4x-r686high7.5
AVideo has an unauthenticated decrypt oracle leaking any ciphertext
The advisory, in context
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.phpis unauthenticated. - Handler:
plugin/API/API.phpget_api_decryptString()(lines ~5945–5966):
No APISecret or user check occurs before decrypting.$string = decryptString($_REQUEST['string']); return new ApiObject($string, empty($string)); - Public ciphertext source:
view/url2Embed.json.phpreturnsplayLink/playEmbedLink(encryptString(json_encode(...))) to any caller.
PoC
- Obtain ciphertext:
CopyGET /view/url2Embed.json.php?url=https://example.com/video.mp4playLink. - Decrypt without auth:
Response contains the plaintext JSON (videoLink, title, users_id, etc.).POST /plugin/API/get.json.php?APIName=decryptString Content-Type: application/x-www-form-urlencoded string=<playLink ciphertext>
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.
Affected packages
Start with the recorded fix for your release branch. Check your installed version and test compatibility before upgrading. Fixing this advisory does not rule out other vulnerabilities in the release.
wwbn/avideo Packagist
Ecosystem versions
Earlier releases through 26.0 (inclusive)
No fix recorded for this interval.
17 explicitly affected versions
10.4, 10.8, 11, 11.1, 11.1.1, 11.5, 11.6, 12.4, 14.3, 14.3.1, 14.4, 18.0, 21.0, 22.0, 24.0, 25.0, 26.0
View affected-version evidence
{
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "26.0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"10.4",
"10.8",
"11",
"11.1",
"11.1.1",
"11.5",
"11.6",
"12.4",
"14.3",
"14.3.1",
"14.4",
"18.0",
"21.0",
"22.0",
"24.0",
"25.0",
"26.0"
]
}