CVE-2025-61928
Təsvir
Better Auth, TypeScript üçün autentifikasiya və avtorizasiya kitabxanasıdır. 1.3.26 versiyasından əvvəlki versiyalarda, autentifikasiya olunmamış hücumçular `api/auth/api-key/create` marşrutuna göndərilən sorğu gövdəsində hər hansı istifadəçinin id-sini ötürməklə həmin istifadəçi üçün API açarları yarada və ya dəyişdirə bilərlər: `session?.user ?? (authRequired ? null : { id: ctx.body.userId })`. Sessiya mövcud olmadıqda, lakin sorğu gövdəsində `userId` olduqda, `authRequired` false olur və istifadəçi obyekti hücumçunun nəzarət etdiyi ID-yə təyin edilir. Yalnız server tərəfli sahələrin validasiyası yalnız `authRequired` true olduqda icra edilir (280-295 sətirlər), bu da hücumçulara imtiyazlı sahələri təyin etməyə imkan verir. Verilənlər bazası əməliyyatından əvvəl əlavə autentifikasiya baş vermədiyi üçün zərərli faydal yük (payload) qəbul edilir. Eyni model yeniləmə (update) son nöqtəsində də mövcuddur. Bu, kritik bir autentifikasiyadan yan keçmədir və autentifikasiya olunmamış hücumçuya hər hansı istifadəçi üçün API açarı yaratmağa və dərhal tam autentifikasiya olunmuş giriş əldə etməyə imkan verir. Bu, hücumçuya API açarını istifadə edərək qurban istifadəçi adından hər hansı hərəkəti yerinə yetirməyə, qurbanın imtiyazlarından asılı olaraq istifadəçi məlumatlarını və tətbiqi kompromis etməyə şərait yaradır. 1.3.26 versiyasında bu problem üçün yamaq tətbiq edilmişdir.
Necə düzəltmək olar
- better-auth1.3.26 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| better-authnpm | v < 1.3.26 | 1.3.26 |
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.
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.