CVE-2026-67579
Təsvir
ash-project ash layihəsində etibarsız məlumatların deserializasiyası zəifliyi, autentifikasiya olunmamış hücumçuya saxtalaşdırılmış keyset səhifələmə kursoru vasitəsilə filtr ifadəsi yerləşdirməyə imkan verir ki, bu da məlumat təbəqəsindən asılı olaraq SQL inyeksiyasına və ya kodun icrasına səbəb olur. Keyset səhifələmə ilə oxuma əməliyyatları, müştəri tərəfindən təmin edilən page[:after] və ya page[:before] kursorunu lib/ash/page/keyset.ex faylındakı decode_values/2 funksiyasında [:safe] parametri ilə non_executable_binary_to_term/2 istifadə edərək dekodlaşdırır. Bu qoruyucu yeni atomları, funksiyaları və portları bloklayır, lakin işlək Ash tətbiqində artıq daxil edilmiş atomlardan qurulmuş strukturu bloklamır. Beləliklə, dekodlaşdırılmış %Ash.Query.Call{} ifadəsi qalır, do_filters/4 funksiyasında müqayisə dəyəri kimi keyset filtrinə əlavə edilir və qiymətləndirilir. Kursor Ash.Expr makrosundan yan keçdiyi üçün, çalışma vaxtı onu rədd edəcək private?/public? qapısı heç vaxt tətbiq edilmir. AshPostgres-də yerləşdirilmiş fraqment birbaşa SQL sorğusuna daxil edilir; ETS və Simple məlumat təbəqələrində isə o, proses daxilində ixtiyari funksiya çağırışı kimi qiymətləndirilir. Bu problem ash versiya 1.17.0-dan 3.31.3-ə qədər olan versiyalara təsir edir.
Necə düzəltmək olar
- ash-hq ash_framework3.31.3 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| ash-hq ash_framework | 1.17.0 ≤ v < 3.31.3 | 3.31.3 |
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.