Skip to content

Yetersiz mutlak yol temizliği nedeniyle Keyfi Dosya Oluşturma/Üzerine Yazma

High
Codes-Exe published GHSA-ggxp-cmpp-mqpc Nov 24, 2021

Package

npm katran (npm)

Affected versions

< 3.2.2 >= 4.0.0, < 4.4.14 >= 5.0.0, < 5.0.6 >= 6.0.0, < 6.1.1

Patched versions

3.2.2 4.4.14 5.0.6 6.1.1

Description

Darbe
Keyfi Dosya Oluşturma, Keyfi Dosya Üzerine Yazma, Keyfi Kod Yürütme

node-tarpreservePathsbayrak olarak ayarlanmadığında mutlak yolları göreceli yollara çevirerek mutlak dosya yollarının çıkarılmasını önlemeyi amaçlar true. Bu, bir tar dosyasında bulunan herhangi bir mutlak dosya yolundan mutlak yol kökünün çıkarılmasıyla elde edilir. Örneğin /home/user/.bashrcdönüşecek home/user/.bashrc.

Bu mantık, dosya yolları, ////home/user/.bashrc. node-tarbu tür yollardan yalnızca tek bir yol kökünü çıkarır. Yinelenen yol köklerine sahip bir mutlak dosya yolu verildiğinde, elde edilen yol (örn. ///home/user/.bashrc) yine de mutlak bir yola çözümlenir ve böylece rastgele dosya oluşturmaya ve üzerine yazmaya izin verir.

Yamalar
3.2.2 || 4.4.14 || 5.0.6 || 6.1.1

NOT: bitişik bir CVE-2021-32803 sorunu bu sürüm düzeyini etkiler. Bu bitişik sorun kullanım durumunuzu etkiliyorsa, lütfen CVE-2021-32803'ü de ele alan en son yama seviyelerine güncelleme yaptığınızdan emin olun node-tar.

Geçici çözümler
Kullanıcılar, mutlak yollara sahip girdileri onentrytemizleyen özel bir yöntem entry.pathveya filtergirişleri kaldıran bir yöntem oluşturarak yükseltme yapmadan bu güvenlik açığını çözebilir.

const yol = zorunlu ( 'yol' )
const tar = zorunlu ( 'tar' )

katran . x ( {
dosya : 'archive.tgz' ,
// ya bu işlevi ekleyin ...
onentry : ( giriş ) => {
if ( yol . isAbsolute ( giriş . yol ) ) {
giriş . yol = sanitizeAbsolutePathSomehow ( giriş . yol )
entry . mutlak = yolu . kararlılığı ( giriş . yolunun )
}
} ,

// veya bu bir
filtre : ( dosya , giriş ) => {
if ( yol . isAbsolute ( giriş . yol ) ) {
dönüş yanlış
} başka {
dönüş doğru
}
}
} )
Kullanıcıların katran girdisini kendileri temizlemeye çalışmak yerine en son yama sürümlerine yükseltmeleri önerilir.

Referanslar
GHSA-3jfq-g458-7qm9
npm/düğüm-tar@ 1f036ca
https://www.npmjs.com/advisories/1770
https://www.npmjs.com/package/tar
https://nvd.nist.gov/vuln/detail/CVE-2021-32804
https://www.oracle.com/security-alerts/cpuoct2021.html

Severity

High

CVE ID

CVE-2021-32804

Weaknesses

No CWEs