Potential NULL pointer dereference in php_dom_create_fake_namespace_decl_node_ptr()
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 68/100
Direzione di ricerca
Inizia in ext/dom/php_dom.c ed esamina php_dom_create_fake_namespace_decl_node_ptr(), poi segui come dom_object_namespace_node_clone_obj() e php_dom_create_fake_namespace_decl() gestiscono il suo risultato. Controlla il percorso di errore in caso di fallimento dell’allocazione di xmlNewNs() ed esegui i test DOM pertinenti. Il lavoro è completato quando l’errore viene gestito senza dereferenziare un puntatore NULL e i chiamanti gestiscono in sicurezza il fallimento della creazione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description
Hi, my static analyzer, Svace, has found a potential bug. Could you take a look and provide some feedback?
(File - /ext/dom/php_dom.c)
The function php_dom_create_fake_namespace_decl_node_ptr() dereferences the return value of xmlNewNs() without checking whether it is NULL.
xmlNsPtr curns = xmlNewNs(NULL, original->href, NULL);
if (original->prefix) {
curns->prefix = xmlStrdup(original->prefix);
}
<?php
Since xmlNewNs() may return NULL on allocation failure, a non-NULL original->prefix can cause a NULL pointer dereference when accessing curns->prefix.
Impact
This may lead to a crash of the PHP process, potentially resulting in a denial of service (DoS) when processing DOM namespace nodes.
The affected function is called from dom_object_namespace_node_clone_obj() and php_dom_create_fake_namespace_decl(), making the issue relevant to namespace node cloning and creation.
Proposed Solution
Check the return value of xmlNewNs() before dereferencing curns and handle allocation failures appropriately. Additionally, ensure that callers correctly handle a failure to create the fake namespace declaration node.
PHP Version
PHP 8.3.31
Operating System
No response
- Lingua principale
- C
- Stelle
- 41.8k
- Fork
- 8.5k
- Merge medio
- 2g 13h
- PR unite (30g)
- 145
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di php/php-src
-
ext/openssl: 8.2.31+/8.3.31+ fail to build against OpenSSL 1.0.2 (ASN1_STRING_get0_data in xp_ssl.c)Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 79/100
I maintainer di solito rispondono entro 1 giorno
-
SNMP accepts malformed remote portsForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 Mezza giornata Idoneità per principianti 62/100
php/php-src#25137 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Bug Status: Needs Triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
I maintainer di solito rispondono entro 1 giorno
-
quoted_printable_encode() produces lines longer than 76 characters for bytes 0xF5 to 0xFFForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
Bug Status: Needs Triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
php/php-src#24196 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
not for AI lovers
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
OSGeo/gdal#15515 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Template: Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
betaflight/betaflight#16014 ·
I maintainer di solito rispondono entro 3 giorni
-
Bug: [BMC] show techsupport logs ERR "BMC instance is not available" on switch host with a SONiC BMCApertaBug :bug:
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
sonic-net/sonic-buildimage#30701 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
area:tooling bug platform:android
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
maplibre/maplibre-native-ffi#1791 ·
I maintainer di solito rispondono entro 1 giorno