GHSA-rf63-6vwm-wv8p: AVideo-Encoder: unauthenticated command execution through streamer login trust

Published Oct 28, 2026
·
Updated

AVideo is a video-sharing Platform. Prior to 8.1.0, the live-streaming endpoint view/videosListToLive.php accepts an attacker-named streamer in webSiteRootURL, calls Login::run in objects/Login.php, and trusts the returned JSON as session state. An unauthenticated remote attacker who can host an HTTP service reachable by the encoder can self-grant isLogged and canStream without legitimate credentials. The endpoint requires only nonempty playlistsid and APISecret values; APISecret is forwarded rather than checked against a stored secret. This path never calls Streamer::isURLAllowed and therefore works regardless of the operator's streamer allowlist. It fetches a second attacker-controlled video-list response and interpolates videos[].path without shell argument escaping into ffprobe and ffmpeg commands passed to exec; isAudio calls isVideo to reach the ffprobe command. Paths containing shell delimiters execute arbitrary operating-system commands as the web-server user. The request filter does not inspect the video-list JSON. This can disclose database and stored streamer credentials, compromise the upstream platform using those credentials, modify files owned by the web-server user, establish persistence, and deny encoder service. This issue is fixed in version 8.1.0.

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade AVideo-Encoder to a version that resolves this vulnerability.

    Fixed in 8.1.0

Event History

Oct 28, 2026
CVE Published
via OSV·09:43 PM
Data Sourced
via OSV·09:43 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Does the streamer allowlist prevent exploitation of this issue?

No. The affected path does not call Streamer::isURLAllowed, so exploitation works regardless of the operator's streamer allowlist.

2

What does an attacker need to reach the command-execution path?

The attacker must be able to send requests to the live-streaming endpoint and host an HTTP service that the encoder can reach. Legitimate streamer credentials are not required; the supplied playlists_id and APISecret only need to be nonempty.

3

What privileges do injected commands receive?

Commands execute as the web-server user. The advisory states this can expose database and stored streamer credentials and enable compromise of the upstream platform using those credentials.

4

Which versions are affected?

Versions prior to 8.1.0 are affected. Version 8.1.0 is identified by the provided release reference.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203