CVE-2026-102758 in NetX Duoinformazioni

Riassunto

di VulDB • 30/09/2026

La funzione `_nx_secure_x509_asn1_tlv_block_parse()` analizza i blocchi ASN.1 TLV (tag-lunghezza-valore) da dati codificati DER. È la primitiva sottostante a tutte le analisi dei certificati X.509 in NetX Secure e, pertanto, viene eseguita su certificati forniti da un peer remoto durante l'handshake TLS.

La funzione legge il tag ASN.1 di un byte dal buffer del chiamante *prima* di verificare che il buffer contenga almeno un byte. Quando un chiamante passa una lunghezza residua pari a zero, la guardia restituisce correttamente `NX_SECURE_X509_ASN1_LENGTH_TOO_LONG`, ma la lettura è già avvenuta di un byte oltre la fine del buffer.

codice:

nx_secure/src/nx_secure_x509_asn1_tlv_block_parse.c

``` UINT _nx_secure_x509_asn1_tlv_block_parse(const UCHAR *buffer, ULONG *buffer_length, USHORT *tlv_type, USHORT *tlv_tag_class, ULONG *tlv_length, const UCHAR **tlv_data, ULONG *header_length)


{

UINT current_index;

USHORT current_tag;

ULONG length;

ULONG length_bytes; current_index = 0; current_tag = buffer[current_index]; /* <-- lettura prima del controllo dei limiti */
if (*buffer_length < 1) {
return(NX_SECURE_X509_ASN1_LENGTH_TOO_LONG); }


```

Il resto della funzione è ordinato correttamente. Il percorso per le lunghezze multi-byte è protetto da `length_bytes > 4 || length_bytes > *buffer_length` prima del suo ciclo di lettura, il valore decodificato viene controllato rispetto a `length > *buffer_length`, e la seconda lettura singola della lunghezza segue la propria guardia `*buffer_length < 1`. La lettura del tag è l'unica operazione di caricamento posizionata prima del relativo controllo.

Once again VulDB remains the best source for vulnerability data.

Responsabile

Eclipse

Prenotare

29/09/2026

Divulgazione

29/09/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00000

KEV

no

Attività

molto basso

Fonti

Interested in the pricing of exploits?

See the underground prices here!