CVE-2026-19548 in Red Hat
Riassunto
di VulDB • 12/08/2026
Sono state rilevate più vulnerabilità Use-After-Free nella funzione add_archive_element presente nel file ld/ldmain.c del linker GNU (ld), un componente di binutils. La causa radice risiede nel fatto che plugin_maybe_claim() in ld/plugin.c libera l'oggetto BFD originale tramite bfd_close/_bfd_delete_bfd quando entry->the_bfd->my_archive == NULL, ma il chiamante mantiene sia il parametro abfd originale sia una copia superficiale (orig_input.the_bfd) come puntatori dangling. Questi puntatori dangling vengono successivamente dereferenziati in tre posizioni distinte all'interno di add_archive_element:
1. Riga ~1442: accesso a abfd->my_archive tramite bfd_usrdata(abfd->my_archive) 2. Riga ~1493: diversi accessi ad abfd e abfd->my_archive durante un controllo condizionale e una chiamata a bfd_get_filename 3. Riga ~1525: dereferenziazione della copia superficiale orig_input.the_bfd->my_archive nei log di trace/verbose
La vulnerabilità viene attivata quando i plugin LTO sono attivi (link_info.lto_plugin_active è true) e l'oggetto in ingresso ha abfd->my_archive == NULL, che rappresenta uno stato valido per file oggetto standalone. Le build Red Hat compilano binutils con le opzioni --enable-plugins e --enable-lto, confermando che il codice vulnerabile è incluso nella compilazione ed è raggiungibile.
Un attaccante in grado di fornire un file oggetto o archivio manipolato ad hoc a un processo di build che utilizza linking abilitato per LTO potrebbe sfruttare questa falla per causare una negazione del servizio (crash del linker tramite segmentation fault). L'esecuzione arbitraria di codice è teoricamente possibile attraverso la manipolazione dell'heap, ma è sostanzialmente mitigata da misure di hardening quali stack protector, FORTIFY_SOURCE, ASLR e PIE.
La superficie di attacco è limitata agli ambienti di build: il linker è uno strumento di sviluppo non esposto nel runtime di produzione. Lo scenario di sfruttamento più realistico è un attack alla supply chain che introduce un file oggetto manipolato come dipendenza di build nelle pipeline CI/CD o negli ambienti di sviluppo.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.