CVE-2026-60074

Yüksek

Açıklama

Date::Manip'in 7.00 sürümüne kadar olan Perl sürümleri, check içindeki sayısal aralık testlerini geçen ASCII dışı ondalık rakamlar aracılığıyla bozuk tarihler döndürür. Ayrıştırma düzenli ifadeleri yıl, ay ve günü `\d` kısayoluyla yakalar; bu kısayol bir karakter dizesinde yalnızca `[0-9]` ile değil, tüm Unicode ondalık rakam özelliği `\p{Nd}` ile eşleşir. Date::Manip::Base::check daha sonra yakalanan alanları yalnızca sayısal karşılaştırmalarla doğrular (`$y<1 || $y>9999`, `$m<1 || $m>12`, `$d<1 || $d>$days`) ve _parse_check sayısallaştırılmış alanları (`$y+0`) saklar. Perl bir dizeyi ASCII rakamı olmayan ilk karakterde keser, bu nedenle baştaki karakterleri ASCII rakamı olan bir alan aralık içindeki bir öneke sayısallaşır ve her testi karşılar: üç ASCII rakamı ve ardından U+0664 ARABIC-INDIC DIGIT FOUR içeren bir yıl alanı 202'ye sayısallaşır ve 0202 yılını verir; ay veya gün alanındaki bir ASCII dışı rakam da bu alanları aynı şekilde kaydırır. Saat, dakika ve saniye alanları açık ASCII karakter sınıflarıyla (`0?[0-9]`, `[0-5][0-9]`) eşleşir ve kaymaz, ancak kesirli saat veya dakika alanındaki bir ASCII dışı rakam kesri keser. Güvenilmeyen bir karakter dizesini ParseDate() veya Date::Manip::Date->parse() işlevine geçiren her çağıran, ayrıştırdığı dizeden farklı bir tarihi ayrıştırma hatası olmadan geri alabilir. Ayrıştırılan tarihin son kullanma kontrolü veya saklama penceresi gibi mantığı belirlediği durumlarda kayma fark edilmez.

ÖnemYüksek
CVSS7.5
İstismar olasılığı—
ÜrünDate-manip
Yayın30 Tem 2026
İlk görülme30 Tem 2026
Zayıflık türüCWE-1289CWE-1289

Nasıl düzeltilir

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
Date-Manipv ≤ 7.00—

Sürümünüzü kontrol edin

Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.

Intelligence 360 paketinde

Attack Surface Management

Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.

CVE-2026-60074 · Date-manip · Dark Radar