Repository navigation
Security tr
English · 简体中文 · 繁體中文 · Español · العربية · Français · Português (Brasil) · Deutsch · हिन्दी · 日本語 · 한국어 · Русский · Bahasa Indonesia · Türkçe · Italiano · Tiếng Việt
Bu sayfa, bir güvenlik sorununun nasıl bildirileceğini ve uygulamanız kullanıcı girdisini docxi'ye aktarırken bilmeniz gereken güvenlik noktalarını açıklar.
Lütfen güvenlik sorunlarını herkese açık issue'larda bildirmeyin. Bunun yerine projenin bakımını yapanlara e-posta gönderin. Adresler docxi.gemspec dosyasındadır. docxi sürümünü ve sorunu yeniden üretmenin kısa bir yolunu ekleyin.
docxi 0.0.x, görsel yolu dizelerini Kernel#open yöntemine aktarır. Kernel#open, | ile başlayan bir dizeyi kabuk komutu olarak çalıştırır; bu yüzden bir görsel yolunu kontrol eden bir saldırgan sunucunuzda komut çalıştırabilir. 0.1.0, dosyaları File.open ile açar ve URL'leri URI#open ile indirir. İkisi de komut çalıştırmaz.
Metin vermek güvenlidir. Metin, tablo içerikleri ve diğer dizeler XML metni veya öznitelik değeri olarak yazılır ve nokogiri bunları kaçışlar. Kullanıcı girdisi belgeye öğe ekleyemez.
Görsel kaynakları dikkat gerektirir. add_media şunları kabul eder:
| Kaynak | docxi'nin yaptığı |
|---|---|
| Kendi açtığınız bir IO | Onu okur |
| Bir dosya yolu | O dosyayı sunucunuzun diskinden okur |
Bir http, https veya ftp URL'si |
Onu sunucunuzdan indirir |
Kullanıcı yolu seçebiliyorsa, sunucunuzdaki okunabilir herhangi bir dosyanın, örneğin yapılandırma dosyalarının veya anahtarların, belgeye gömülmesini sağlayabilir. Kullanıcı URL'yi seçebiliyorsa sunucunuz o adrese istek gönderir ve bu, iç adreslere erişebilir (sunucu taraflı istek sahteciliği, SSRF). Kendi açtığınız bir IO verin veya yalnızca bilinen yollara ve sunuculara izin verin.
Köprüler URL nereyi gösteriyorsa oraya gider. Kullanıcıların verdiği URL'leri add_hyperlink yöntemine vermeden önce kontrol edin.
- Sürümler, GitHub Actions'tan RubyGems'in güvenilir yayınlama (trusted publishing) özelliğiyle yayımlanır; bu yüzden depoda hiçbir API anahtarı saklanmaz.
- Gem meta verileri
rubygems_mfa_requiredayarını içerir; bu yüzden kişisel bir API anahtarıyla yapılan gönderimler çok faktörlü kimlik doğrulama gerektirir.
docxi wiki · README · Installation · Troubleshooting · Report an issue · MIT License
Start
Build documents
Help
Project
Links
Languages