← CVE Veritabanı

CVE-2026-70558

Kritik

Teknik Veri (Otomatik)

CVSS Skoru
9.8
EPSS
0.8%
CWE
CWE-434
KEV Durumu
Hayır

Yayım tarihi: 6 Ağustos 2026

Dinky'nin POST /download/uploadFromRsByLocal işleyicisi, çağırıcı tarafından sağlanan yol parametresini doğrudan new File(path) ve file.transferTo(dest)'ye geçirmeden herhangi bir yol doğrulaması olmadan iletir. Rotaya @SaIgnore işareti eklenmiştir ve /download/**, Sa-Token arabirimi tarafından dışlanmıştır, bu nedenle tek koruma, bir dinkyToken değerine karşı bir başlık eşitlik kontrolüdür ve varsayılan değer (efda1551-7958-4e0f-80a8-dfd107df3e38) kaynakta sabitlenmiştir ve her dağıtıma gönderilir. Dinky'nin HTTP bağlantı noktasına (varsayılan olarak 8888) erişimi olan ve sabit tokenı sağlayan herkes, Dinky hizmet hesabı olarak keyfi dosyalar yazabilir. Varsayılan Docker görüntüsü, 8888'de çalışır ve proxy veya kimlik doğrulaması olmadan, ayrıca /opt/dinky için chmod 777 vardır, böylece uygulamanın kendi sınıf yolu, başlatma betikleri ve statik varlıkları yazılabilir. Gösterilen etki: /opt/dinky/config/static/index.html'yi değiştirerek, saldırgan JavaScript'ini yönetici tarayıcılarına hemen hizmet verir ve /opt/dinky/org/dinky/Dinky.class'ı yazarak, bir sonraki JVM başlatmasında script/bin/auto.sh tarafından başlatılan bir sınıf yolu gölgesiyle saldırgan kodu Dinky hizmet hesabı olarak çalıştırır. Yazılar uid 9999 (flink) olarak yapılır, bu nedenle /etc, /root, /home ve /usr reddedilir. Dinky v1.2.5 (mevcut sürüm) ve geliştirme dalını etkiler, burada kod byte olarak aynıdır.

Orijinal açıklama (İngilizce)

Dinky's POST /download/uploadFromRsByLocal handler passes the caller-supplied path parameter directly to new File(path) and file.transferTo(dest) with no path validation. The route is marked @SaIgnore and /download/** is excluded from the Sa-Token interceptor, so the only guard is a header equality check against a dinkyToken value whose default (efda1551-7958-4e0f-80a8-dfd107df3e38) is hardcoded in source and shipped to every deployment. Anyone who can reach Dinky's HTTP port (8888 by default) and supplies the hardcoded token can write arbitrary files as the Dinky service account. The default Docker image runs on 8888 with no proxy or authentication and chmod 777 on /opt/dinky, so the application's own classpath, launch scripts, and static assets are writable. Demonstrated impact: overwriting /opt/dinky/config/static/index.html served attacker JavaScript to admin browsers immediately, and writing /opt/dinky/org/dinky/Dinky.class executed attacker code as the Dinky service account at the next JVM start via a classpath-shadow launched by script/bin/auto.sh. Writes are uid 9999 (flink), not root, so /etc, /root, /home, and /usr are refused. Affects Dinky v1.2.5 (the current release) and the development branch, where the code is byte-identical.

Bu CVE için henüz editoryal inceleme yapılmadı. Sadece otomatik teknik veri gösteriliyor.