- Yama var
- Son 7 gün
- CWE-862
CVE-2026-114515
OCO-Server Self-Service Portalında yetkisiz yazılım kaldırma işi oluşturma açığı
- Yayımlandı
- Güncellendi
- 23 Eki 2026
- Açık yaşı
- 6 gün
- Kaydı açan
- GitHub_M
ÖzetTürkçe
OCO-Server, bilgisayar envanteri, yazılım dağıtımı ve mobil cihaz yönetimi için kendi sunucunuzda barındırılan bir uç nokta yönetim uygulamasıdır. 1.2.3 sürümünden önce, iş kapsayıcıları oluşturma yetkisine ve bir bilgisayar ile pakete ilişkin okuma görünürlüğüne sahip geçerli bir Self-Service Portal kullanıcısı, bu kaynaklar için dağıtım yetkisi olmadan bir kaldırma işi kuyruğa alabilmektedir. self-service/ajax-handler/job-containers.php adresine yapılan istekler, uninstall_package_assignment_id[] değerlerini lib/SelfService/CoreLogic.class.php::uninstallSelfService fonksiyonuna iletmektedir. Bu fonksiyonun yetki denetleme döngüsü, reddedilen METHOD_DEPLOY kontrollerinden sonra da devam etmekte ve reddedilen kimlikleri $installationIds listesinden çıkarmamaktadır; ardından orijinal liste lib/CoreLogic.class.php::uninstall fonksiyonuna iletilmektedir. CoreLogic nesnesi null bir SystemUser ile oluşturulduğundan, lib/CoreLogic.class.php::checkPermission işlemi sistem bağlamı olarak değerlendirmekte ve koşulsuz olarak izin vermektedir. Sıralanabilir computer_package.id değerleri, diğer kullanıcıların bilgisayarlarındakiler dahil, okunabilir durumdaki kurulu paket atamalarının seçilmesine olanak tanımaktadır. Buna karşılık deploySelfService kurulum yolu, dağıtım yetkisi reddedildiğinde işlemi durdurmaktadır ve okuma yetkisi olmayan kaynaklar engelli kalmaktadır. Bu durum, etkin kullanıcının rolünün görebildiği kaynaklarda yetkisiz yazılım kaldırma işlerine izin vermektedir. Sorun 1.2.3 sürümünde giderilmiştir.
Kaynaktaki açıklama (İngilizce)
OCO-Server is a self-hosted endpoint management application for computer inventory, software deployment, and mobile device management. Prior to 1.2.3, a valid Self-Service Portal user with permission to create job containers and read visibility on a computer and package can queue an uninstall job without deploy permission for those resources. Requests to self-service/ajax-handler/job-containers.php pass uninstall_package_assignment_id[] values to lib/SelfService/CoreLogic.class.php::uninstallSelfService(). Its permission-check loop continues after denied METHOD_DEPLOY checks without removing rejected IDs from $installationIds, then passes the original list to lib/CoreLogic.class.php::uninstall(). The CoreLogic object is constructed with a null SystemUser, causing lib/CoreLogic.class.php::checkPermission() to treat the operation as system context and unconditionally permit it. Enumerable computer_package.id values allow selection of readable installed-package assignments, including those on other users' computers. The deploySelfService() install path instead aborts on denied deployment permission, and resources lacking read permission remain blocked. This permits unauthorized software-removal jobs across resources visible to the acting user's role. This issue is fixed in version 1.2.3.
Bu açığın açıklamasını Türkçeye çevirdik. Adım adım çözüm önerilerini kritik ve yeni açıklar için hazırlıyoruz; düzeltilmiş sürüm aşağıdaki tabloda, ayrıntılar üreticinin duyurusunda.
Etkilenen sürümler1 yazılım
| Yazılım | Etkilenen | Düzeltildiği sürüm |
|---|---|---|
| schorschii OCO-Server | < 1.2.3 | 1.2.3 |
Kaynaklar5 kaynak
Kayıt geçmişi
- Yayımlandı
İlgili açıklar
Türkçe metin, resmi kayıtlardaki bilgilerle yapay zekâ yardımıyla yazıldı ve yayından önce otomatik kontrollerden geçti. Bir değişikliği uygulamadan önce üreticinin duyurusuna mutlaka bakın.