CVE-2026-18416

Düşük

Açıklama

subsys/net/lib/coap/coap_link_format.c dosyasındaki CoAP link-format yardımcısı match_path_uri(), kayıtlı bir kaynak yolunu Uri-Query href= seçeneğinde taşınan URI ile karşılaştırır. Bu URI NUL ile sonlandırılmamıştır ancak iç karakter döngüsü, dizini hiçbir zaman seçenek uzunluğu olan len ile test etmeden her yol karakteri için indeks k'yı ilerletir. Kayıtlı bir yol segmenti sağlanan URI'den daha uzun olduğunda ve URI bunun bir ön eki olduğunda, döngü uri[len] ve ötesini, yani seçenek değerinin sonunun dışını okur. Yola; coap_well_known_core_get_len() ve coap_well_known_core_get() üzerinden match_queries_resource() aracılığıyla, yani /.well-known/core hizmeti veren (CoAP sunucu alt sistemi için CONFIG_COAP_SERVER_WELL_KNOWN_CORE, varsayılan y) ve struct coap_core_metadata niteliklerini beyan eden en az bir kaynağa sahip bir cihaza yapılan herhangi bir kimlik doğrulanmamış GET /.well-known/core?href=/<prefix> isteği ile ulaşılır. Sınır aşımı okuması alım tamponuna ulaşmaz. Well-known-core oluşturucuları sorguyu, değeri sabit bir dizi (value[12] veya CONFIG_COAP_EXTENDED_OPTIONS_LEN_VALUE bayt) olan yığın yerel bir struct coap_option yapısına ayrıştırır ve seçenek baytları buraya kopyalanır; dolayısıyla uri bu kopyayı işaret eder. Bu nedenle len ötesini okumak, dizinin kullanılmayan, başlatılmamış kuyruk kısmını ve seçenek diziyi doldurduğunda aynı yığın çerçevesindeki hemen ardındaki baytları okur. (v1.8.0 ile v1.9.x arasındaki ZoAP kitaplığında seçenek değeri bunun yerine alınan pakete yönelik bir işaretçiydi ve sınır aşımı okuması paket tamponu içindeki seçeneğin ötesine geçiyordu.) Etki sınırlıdır. Sonun ötesinde okunan bayt sayısı kaynak yolu segmentinin uzunluğu ile sınırlıdır ve her ek bayt yalnızca bir sonraki yol karakterine eşit olması durumunda okunur; bu nedenle pratikte sınır aşımı okuması bir bayttır. Ayrıca yanıtı etkileyemez: eşleşme döndürmek, karşılaştırılan nihai indeksin sınırlar dahilinde olan len - 1 veya len olmasını gerektirir, dolayısıyla sınır dışı baytlar döngüyü yalnızca bir sonraki aday kaynağa yönlendirir. Bunun sonucu bilgi ifşası veya bir eşleştirme hatası değil, tanımsız davranıştır. Düzeltme, iç döngünün başına bir k >= len koruması ekler; böylece sondaki * joker karakterinin daha uzun bir yolla eşleşmesine izin verilirken her uri[k] başvurusu seçenek değeri içinde kalır.

ÖnemDüşük
CVSS3.7
İstismar olasılığı—
ÜrünZephyr
Yayın28 Eyl 2026
İlk görülme28 Eyl 2026

Nasıl düzeltilir

Güncelleyin
  • zephyrproject zephyr4.4.2 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
zephyrproject zephyr1.8.0 ≤ v < 4.4.24.4.2

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-18416 · Zephyr · Dark Radar