CVE-2026-104189

Yüksək

Təsvir

Nextcloud üçün 3D Viewer, çox sayda 3D fayl formatını dəstəkləyən hərtərəfli 3D model baxıcı tətbiqidir. Versiya 1.7.9-dan 3.3.1-ə qədər olan versiyalarda, tətbiqin ictimai fayl son nöqtəsi (endpoint) paylaşım avtorizasiyasını yerinə yetirmirdi. Paylaşım tokenini bilən hər kəs, link paylaşımı şifrə ilə qorunduğu halda belə, paylaşılan faylın məzmununu oxuya bilirdi. `PublicFileController` sinfi `OCP\AppFramework\Controller`-dən törəmişdi və onun marşrutları `#[PublicPage]` olaraq işarələnmişdi. Nextcloud paylaşım şifrələrini yalnız `PublicShareMiddleware` vasitəsilə tətbiq edir ki, bu da `OCP\AppFramework\PublicShareController` instansiyası olmayan hər hansı kontroller üçün prosesi erkən sonlandırır — buna görə də həmin marşrutlar üçün heç bir şifrə, vaxt bitimi və ya paylaşım növü yoxlaması aparılmırdı. `ShareFileService::loadLinkShare()` funksiyası isə `getShareByToken()` tərəfindən uyğun gələn hər hansı tokeni avtorizasiya olunmuş kimi qəbul etməklə problemi daha da ağırlaşdırırdı. Paylaşım tokeni, insanların çatlara, e-poçtlara və biletlərə yapışdırdığı URL-in hissəsidir. Şifrə qoruması məhz tokenin tək başına giriş hüququ verməməsi lazım olan hallar üçün mövcuddur və bu zəmanət təmin edilməyib. `GET /ocs/v2.php/apps/threedviewer/public/file/{token}/{fileId}` ünvanına göndərilən sorğular, şifrə ilə qorunan paylaşımlar üçün şifrə və sessiya olmadan tam fayl gövdəsi ilə birlikdə `200` cavabını qaytarırdı. Nextcloud-un öz paylaşım səhifəsi isə belə sorğuları düzgün şəkildə şifrə daxiletmə pəncərəsinə yönləndirirdi. Problem yalnız bu tətbiqin dəstəklədiyi formatdakı fayllarla (STL, GLB/glTF, OBJ, STEP, IFC və digər dəstəklənən 3D növləri) məhdudlaşır. Eyni paylaşımda olan 3D olmayan fayllar bundan təsirlənmir. Vaxtı bitmiş paylaşımlar məzmunu sızdırmaq əvəzinə `500` xətası qaytarırdı. Bu problem 3.3.2 versiyasında aradan qaldırılıb. Artıq `PublicFileController` sinfi `PublicShareController`-dən törəyir və `isValidToken()`, `isPasswordProtected()` və `getPasswordHash()` metodlarını tətbiq edərək şifrə və token validasiyasını freymvorka həvalə edir və brute-force məhdudiyyətinə nail olur. `ShareFileService::findValidLinkShare()` əlavə olaraq link və e-poçtdan başqa paylaşım növlərini rədd edir, vaxtı bitmiş paylaşımları imtina edir və paylaşım menecerindən gələn `ShareNotFound` xətasını 500 xətası kimi göstərmək əvəzinə "paylaşım tapılmadı" kimi qəbul edir. Müvəqqəti həll yolu kimi, yeniləyə bilənə qədər 3D Viewer tətbiqini deaktiv edin (`occ app:disable threedviewer`) və ya 3D model faylları olan link paylaşımlarının qorunması üçün şifrələrə güvənməyin.

CiddilikYüksək
CVSS7.5
İstismar ehtimalı—
Məhsul3Dviewer-Nextcloud
Dərc27 okt 2026
İlk görülmə27 okt 2026

Necə düzəltmək olar

Mənbələrdə bu zəiflik üçün düzəldilmiş versiya və ya yamaq keçidi yoxdur.

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
maz1987in 3Dviewer-Nextcloud>= 1.7.9, < 3.3.2—

Versiyanızı yoxlayın

Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.

Intelligence 360 paketində

Attack Surface Management

Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.