CVE-2026-43877
Full vulnerability record from the local CVENow database.
Description
WWBN AVideo is an open source video platform. In versions up to and including 29.0, objects/userSavePhoto.php is a legacy profile-photo endpoint that accepts a base64 POST parameter and writes the decoded bytes to videos/userPhoto/photo<users_id>.png. Its only access control is User::isLogged(). It does not end in .json.php, so it is excluded from the project's global autoCSRFGuard (which is suffix-scoped in objects/include_config.php). There is no CSRF token, no Origin/Referer check, and no MIME validation of the decoded bytes. Because AVideo's default cookie policy is SameSite=None; Secure on HTTPS (objects/functionsPHP.php:227), an attacker who lures a logged-in user to a malicious page can overwrite that user's profile photo with arbitrary bytes and also triggers a site-wide clearCache(true) on every forged request. Commit 9c38468041505e637101c5943c5370c68f48e3ac contains an updated fix.
View original CVE JSON
{
"id": "CVE-2026-43877",
"sourceIdentifier": "[email protected]",
"published": "2026-05-11T22:22:12.113",
"lastModified": "2026-10-26T18:10:00.173",
"vulnStatus": "Deferred",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "WWBN AVideo is an open source video platform. In versions up to and including 29.0, objects/userSavePhoto.php is a legacy profile-photo endpoint that accepts a base64 POST parameter and writes the decoded bytes to videos/userPhoto/photo<users_id>.png. Its only access control is User::isLogged(). It does not end in .json.php, so it is excluded from the project's global autoCSRFGuard (which is suffix-scoped in objects/include_config.php). There is no CSRF token, no Origin/Referer check, and no MIME validation of the decoded bytes. Because AVideo's default cookie policy is SameSite=None; Secure on HTTPS (objects/functionsPHP.php:227), an attacker who lures a logged-in user to a malicious page can overwrite that user's profile photo with arbitrary bytes and also triggers a site-wide clearCache(true) on every forged request. Commit 9c38468041505e637101c5943c5370c68f48e3ac contains an updated fix."
},
{
"lang": "es",
"value": "WWBN AVideo es una plataforma de video de código abierto. En versiones hasta la 29.0 inclusive, objects/userSavePhoto.php es un endpoint heredado para fotos de perfil que acepta un parámetro POST base64 y escribe los bytes decodificados en videos/userPhoto/photo[users_id].png. Su único control de acceso es User::isLogged(). No termina en .json.php, por lo que está excluido del autoCSRFGuard global del proyecto (el cual tiene un alcance por sufijo en objects/include_config.php). No hay token CSRF, no hay verificación de Origin/Referer, y no hay validación MIME de los bytes decodificados. Debido a que la política de cookies predeterminada de AVideo es SameSite=None; Secure en HTTPS (objects/functionsPHP.php:227), un atacante que atrae a un usuario autenticado a una página maliciosa puede sobrescribir la foto de perfil de ese usuario con bytes arbitrarios y también activa un clearCache(true) en todo el sitio en cada solicitud forjada. El commit 9c38468041505e637101c5943c5370c68f48e3ac contiene una corrección actualizada."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "WWBN",
"product": "AVideo",
"versions": [
{
"version": "<= 29.0",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:L",
"baseScore": 5.4,
"baseSeverity": "MEDIUM",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "NONE",
"userInteraction": "REQUIRED",
"scope": "UNCHANGED",
"confidentialityImpact": "NONE",
"integrityImpact": "LOW",
"availabilityImpact": "LOW"
},
"exploitabilityScore": 2.8,
"impactScore": 2.5
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-05-12T16:36:34.990206Z",
"id": "CVE-2026-43877",
"options": [
{
"exploitation": "poc"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-352"
}
]
}
],
"references": [
{
"url": "https://github.com/WWBN/AVideo/commit/9c38468041505e637101c5943c5370c68f48e3ac",
"source": "[email protected]"
},
{
"url": "https://github.com/WWBN/AVideo/security/advisories/GHSA-jw8g-5j46-44rp",
"source": "[email protected]"
},
{
"url": "https://github.com/WWBN/AVideo/security/advisories/GHSA-jw8g-5j46-44rp",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"
}
]
}