CVE-2026-100371
Açıklama
InvoicePlane; faturaları, müşterileri ve ödemeleri yönetmek için kullanılan, kendi sunucunuzda barındırabileceğiniz açık kaynaklı bir uygulamadır. Sürüm 1.7.2'de, ikincil bir yöneticinin (user_type=1, user_id != 1), users/change_password/{id} üzerinden birincil yöneticinin (user_id=1) şifresini doğrudan değiştirmesine izin veren önceki bir yetkilendirme açığını gidermek amacıyla Users::change_password() fonksiyonuna bir yetkilendirme koruması eklenmiştir. Ancak bu düzeltme yalnızca doğrudan şifre değiştirme işlemini korumaktadır. Şifre kurtarma işleminin asıl güvendiği kimlik özniteliğini, yani user_email alanını korumamaktadır. Users::form() fonksiyonu, birincil yöneticinin hesabı düzenlenirken eşdeğer bir nesne düzeyinde yetkilendirme kontrolü uygulamaz ve user_email alanı PROTECTED_FIELDS listesinde yer almaz. Bu nedenle, ikincil bir yönetici, birincil yöneticinin e-posta adresini yeniden yazabilir ve ardından hesabın user_email ile çözümlendiği genel şifre kurtarma akışını kullanarak sıfırlama belirtecini (token) alıp user_id=1 hesabını ele geçirebilir. Sonuç olarak, PR #1638 ile önlenmek istenen etkiyle aynı sonucu veren alternatif bir saldırı yolu oluşmuştur: birincil yöneticinin hesabının başka bir yönetici tarafından tamamen ele geçirilmesi. Bu sorun 8616fa4 numaralı commit ile yamalanmıştır.
Nasıl düzeltilir
Kaynaklarda bu zafiyet için düzeltilmiş sürüm ya da yama bağlantısı yok.
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| InvoicePlane InvoicePlane | = 1.7.2 | — |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.