Zafiyet.live Keşfet. Değerlendir. Düzelt. Doğrula.
  • Son 7 gün
  • CWE-79

CVE-2026-113787

odf-kit'te satır içi stil değerleri kaçışlanmadığı için HTML enjeksiyonu ve XSS açığı

GitHubNewbie0 odf-kit

Orta 6,1 CVSS 3.1
Yayımlandı
Güncellendi
22 Eki 2026
Açık yaşı
7 gün
Kaydı açan
GitHub_M

ÖzetTürkçe

odf-kit, TypeScript ve JavaScript ile OpenDocument Format dosyaları (.odt, .ods) oluşturmayı, doldurmayı, okumayı ve dönüştürmeyi sağlayan bir kütüphanedir. 0.6.0 sürümünden itibaren, 0.14.2 sürümünden önceki sürümlerde, render işlemcisi bir escapeHtml yardımcı fonksiyonuna sahiptir ve bunu metin içeriğine ve özellik değerlerine (href, src, alt, id, data-author, data-date, alıntı metni) tutarlı biçimde uygular. Ancak satır içi CSS dizeleri bu işlemden geçirilmez. dist/odt/to-html/html-renderer.js dosyasındaki renderTextSpan fonksiyonunda, örneğin fo:color değeri ayrıştırıcı tarafından belgeden olduğu gibi style.fontColor alanına kopyalanır ve kaçışlanmadan özelliğe eklenir. Değer içindeki bir \" karakteri, özelliği erken sonlandırır. Aynı kaçışlanmamış style=\"${...}\" deseni, paragraf ve başlık (paragraphStyleToCss), tablo hücreleri ve satırları (cellStyleToCss, rowStyleToCss), <col> öğesi ve görsel stil özelliğinde yaklaşık on başka yerde de bulunmaktadır. Etkilenen kaynak öznitelikler arasında fo:color, fo:background-color, fo:text-shadow, fo:letter-spacing, fo:font-family (doğrudan ve font-face çözümlemesi yoluyla), fo:margin-*, fo:padding-*, fo:line-height, fo:border* ve style:vertical-align yer almaktadır. Sürüm 0.14.2 bu açığı giderecek bir yama içermektedir."}

Kaynaktaki açıklama (İngilizce)

odf-kit allows users to generate, fill, read, and convert OpenDocument Format files (.odt, .ods) in TypeScript and JavaScript. Starting in version 0.6.0 and prior to version 0.14.2, he renderer has an escapeHtml() helper and applies it consistently to text content and to attribute values — href, src, alt, id, data-author, data-date, citation text all go through it. The inline CSS strings do not. In renderTextSpan (dist/odt/to-html/html-renderer.js:195), the value of e.g. fo:color is copied from the document into style.fontColor verbatim by the parser (extractSpanStyle, read/parser.js:348), then concatenated raw into the attribute. A " in the value terminates the attribute early. The same unescaped style="${...}" pattern appears at roughly ten other emission sites: paragraph and heading (paragraphStyleToCss), table cells and rows (cellStyleToCss, rowStyleToCss), <col>, and the image style attribute. The affected source attributes include fo:color, fo:background-color, fo:text-shadow, fo:letter-spacing, fo:font-family (via both direct and font-face resolution), fo:margin-*, fo:padding-*, fo:line-height, fo:border*, and style:vertical-align. Version 0.14.2 contains a patch.

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ımEtkilenenDüzeltildiği sürüm
GitHubNewbie0 odf-kit Sürüm belirtilmemiş –

Kaynaklar4 kaynak

Kayıt geçmişi

  1. 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.