{"id":"CVE-2026-19548","aliases":["AZL-95892","DEBIAN-CVE-2026-19548","EUVD-2026-57318","GHSA-j77f-3ffj-4jg4","RHSA-2026:82359","UBUNTU-CVE-2026-19548","openSUSE-SU-2026:12315-1"],"status":"published","title":"Binutils: binutils: multiple use-after-free in add_archive_element via lto plugin processing","description":"Multiple Use-After-Free vulnerabilities were found in the add_archive_element function in ld/ldmain.c of the GNU linker (ld), a component of binutils. The root cause is that plugin_maybe_claim() in ld/plugin.c frees the original BFD object via bfd_close/_bfd_delete_bfd when entry-\u003ethe_bfd-\u003emy_archive == NULL, but the caller retains both the original abfd parameter and a shallow copy (orig_input.the_bfd) as dangling pointers. These dangling pointers are subsequently dereferenced at three distinct locations in add_archive_element:\n\n1. Line ~1442: accessing abfd-\u003emy_archive via bfd_usrdata(abfd-\u003emy_archive)\n2. Line ~1493: multiple accesses to abfd and abfd-\u003emy_archive in a conditional check and bfd_get_filename call\n3. Line ~1525: dereferencing the shallow copy orig_input.the_bfd-\u003emy_archive in trace/verbose logging\n\nThe vulnerability is triggered when LTO plugins are active (link_info.lto_plugin_active is true) and the input object has abfd-\u003emy_archive == NULL, which is a valid state for standalone object files. Red Hat builds binutils with --enable-plugins and --enable-lto, confirming the vulnerable code path is compiled in and reachable.\n\nAn attacker who can supply a crafted object or archive file to a build process using LTO-enabled linking could exploit this flaw to cause a denial of service (linker crash via segmentation fault). Arbitrary code execution is theoretically possible through heap manipulation but is substantially mitigated by hardening measures including stack protector, FORTIFY_SOURCE, ASLR, and PIE.\n\nThe attack surface is limited to build-time environments — the linker is a development tool not exposed in production runtime. The most realistic exploitation scenario is a supply chain attack introducing a crafted object file as a build dependency in CI/CD pipelines or development environments.","severity":{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.00167,"percentile":0.06076,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-416"],"published":"2026-08-12T15:51:39Z","modified":"2026-11-06T10:05:05Z","fixes":[{"ecosystem":"Red Hat:hummingbird:1","package":"binutils","fixed_in":["0:2.46.1-1.4.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"binutils-devel","fixed_in":["0:2.46.1-1.4.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"binutils-gold","fixed_in":["0:2.46.1-1.4.hum1"],"sources":["osv"]},{"ecosystem":"Red Hat:hummingbird:1","package":"binutils-gprofng","fixed_in":["0:2.46.1-1.4.hum1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Azure Linux:3","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"2.41-14"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.40-2","2.40.50.20230111-1","2.40.50.20230215-1","2.40.50.20230501-1","2.40.50.20230510-1","2.40.50.20230602-1","2.40.50.20230611-1","2.40.50.20230611-2","2.40.50.20230622-1","2.40.50.20230625-1","2.40.50.20230630-1","2.40.90.20230705-1","2.40.90.20230714-1","2.40.90.20230714-2","2.40.90.20230720-1","2.40.90.20230729-1","2.40.90.20230729-2","2.41-1","2.41-2","2.41-3","2.41-4","2.41-5","2.41-6","2.41-7","2.41.50.20230731-1","2.41.50.20230803-1","2.41.50.20230905-1","2.41.50.20231010-1","2.41.50.20231101-1","2.41.50.20231125-1","2.41.50.20231202-1","2.41.50.20231206-1","2.41.50.20231214-1","2.41.50.20231227-1","2.41.90.20240115-1","2.41.90.20240122-1","2.42-1","2.42-2","2.42-2+hurd.1","2.42-3","2.42-4","2.42.50.20240614-1","2.42.50.20240618-1","2.42.50.20240625-1","2.42.50.20240710-1","2.42.90.20240720-1","2.42.90.20240720-2","2.43-1","2.43-2","2.43.1-1","2.43.1-2","2.43.1-3","2.43.1-4","2.43.1-5","2.43.50.20240817-1","2.43.50.20240909-1","2.43.50.20241004-1","2.43.50.20241112-1","2.43.50.20241126-1","2.43.50.20241126-2","2.43.50.20241126-3","2.43.50.20241204-1","2.43.50.20241204-2","2.43.50.20241210-1","2.43.50.20241215-1","2.43.50.20241221-1","2.43.50.20241230-1","2.43.50.20250108-1","2.43.90.20250122-1","2.43.90.20250122-2","2.43.90.20250127-1","2.43.90.20250202-1","2.44-1","2.44-2","2.44-3","2.44.50.20250201-1","2.44.50.20250207-1","2.44.50.20250218-1","2.44.50.20250218-2","2.44.50.20250309-1","2.44.50.20250405-1","2.44.50.20250502-1","2.44.50.20250520-1","2.44.50.20250528-1","2.44.50.20250707-1","2.44.90.20250719-1","2.45-1","2.45-2","2.45-3","2.45-4","2.45-5","2.45-6","2.45-7","2.45-8","2.45.50.20250813-1","2.45.50.20250903-1","2.45.50.20251005-1","2.45.50.20251023-1","2.45.50.20251023-2","2.45.50.20251122-1","2.45.50.20251125-1","2.45.50.20251201-1","2.45.50.20251209-1","2.45.50.20260116-1","2.45.50.20260119-1","2.45.90.20260125-1","2.45.90.20260201-1","2.46-1","2.46-2","2.46-3","2.46.50.20260216-1","2.46.50.20260509-1","2.46.50.20260519-1","2.46.50.20260608-1","2.46.50.20260617-1","2.46.90.20260712-1","2.47-1","2.47-2","2.47-3","2.47-4","2.47-5","2.47-6","2.47.50.20260813-1","2.47.50.20260813-2","2.47.50.20260813-3","2.47.50.20260901-1","2.47.50.20261004-1","2.47.50.20261020-1","2.47.50.20261021-1"]},{"source":"osv","ecosystem":"Debian:13","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.44-3","2.44.50.20250201-1","2.44.50.20250207-1","2.44.50.20250218-1","2.44.50.20250218-2","2.44.50.20250309-1","2.44.50.20250405-1","2.44.50.20250502-1","2.44.50.20250520-1","2.44.50.20250528-1","2.44.50.20250707-1","2.44.90.20250719-1","2.45-1","2.45-2","2.45-3","2.45-4","2.45-5","2.45-6","2.45-7","2.45-8","2.45.50.20250813-1","2.45.50.20250903-1","2.45.50.20251005-1","2.45.50.20251023-1","2.45.50.20251023-2","2.45.50.20251122-1","2.45.50.20251125-1","2.45.50.20251201-1","2.45.50.20251209-1","2.45.50.20260116-1","2.45.50.20260119-1","2.45.90.20260125-1","2.45.90.20260201-1","2.46-1","2.46-2","2.46-3","2.46.50.20260216-1","2.46.50.20260509-1","2.46.50.20260519-1","2.46.50.20260608-1","2.46.50.20260617-1","2.46.90.20260712-1","2.47-1","2.47-2","2.47-3","2.47-4","2.47-5","2.47-6","2.47.50.20260813-1","2.47.50.20260813-2","2.47.50.20260813-3","2.47.50.20260901-1","2.47.50.20261004-1","2.47.50.20261020-1","2.47.50.20261021-1"]},{"source":"osv","ecosystem":"Debian:14","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.44-3","2.44.50.20250201-1","2.44.50.20250207-1","2.44.50.20250218-1","2.44.50.20250218-2","2.44.50.20250309-1","2.44.50.20250405-1","2.44.50.20250502-1","2.44.50.20250520-1","2.44.50.20250528-1","2.44.50.20250707-1","2.44.90.20250719-1","2.45-1","2.45-2","2.45-3","2.45-4","2.45-5","2.45-6","2.45-7","2.45-8","2.45.50.20250813-1","2.45.50.20250903-1","2.45.50.20251005-1","2.45.50.20251023-1","2.45.50.20251023-2","2.45.50.20251122-1","2.45.50.20251125-1","2.45.50.20251201-1","2.45.50.20251209-1","2.45.50.20260116-1","2.45.50.20260119-1","2.45.90.20260125-1","2.45.90.20260201-1","2.46-1","2.46-2","2.46-3","2.46.50.20260216-1","2.46.50.20260509-1","2.46.50.20260519-1","2.46.50.20260608-1","2.46.50.20260617-1","2.46.90.20260712-1","2.47-1","2.47-2","2.47-3","2.47-4","2.47-5","2.47-6","2.47.50.20260813-1","2.47.50.20260813-2","2.47.50.20260813-3","2.47.50.20260901-1","2.47.50.20261004-1","2.47.50.20261020-1","2.47.50.20261021-1"]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.46.1-1.4.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"binutils-devel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.46.1-1.4.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"binutils-gold","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.46.1-1.4.hum1"}]}]},{"source":"osv","ecosystem":"Red Hat:hummingbird:1","package":"binutils-gprofng","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:2.46.1-1.4.hum1"}]}]},{"source":"osv","ecosystem":"Ubuntu:Pro:14.04:LTS","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.23.52.20130913-0ubuntu1","2.23.90.20131017-1ubuntu1","2.23.90.20131116-1ubuntu1","2.23.91.20131123-1ubuntu1","2.24-1ubuntu1","2.24-1ubuntu2","2.24-2ubuntu1","2.24-2ubuntu2","2.24-2ubuntu3","2.24-4ubuntu1","2.24-5ubuntu1","2.24-5ubuntu2","2.24-5ubuntu3","2.24-5ubuntu3.1","2.24-5ubuntu13","2.24-5ubuntu14","2.24-5ubuntu14.1","2.24-5ubuntu14.2","2.24-5ubuntu14.2+esm1","2.24-5ubuntu14.2+esm2","2.24-5ubuntu14.2+esm3","2.24-5ubuntu14.2+esm5","2.24-5ubuntu14.2+esm6","2.24-5ubuntu14.2+esm7","2.24-5ubuntu14.2+esm8"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.25.1-6ubuntu1","2.25.51.20151022-0ubuntu2","2.25.51.20151022-0ubuntu3","2.25.51.20151027-0ubuntu1","2.25.51.20151028-0ubuntu1","2.25.51.20151106-0ubuntu1","2.25.51.20151113-1ubuntu1","2.25.51.20151113-2ubuntu1","2.25.90.20151125-1ubuntu1","2.25.90.20151125-2ubuntu1","2.25.90.20151211-0ubuntu1","2.25.90.20151211-0ubuntu2","2.25.90.20160101-1ubuntu1","2.25.90.20160101-1ubuntu2","2.26-2ubuntu1","2.26-3ubuntu1","2.26-4ubuntu1","2.26-5ubuntu1","2.26-6ubuntu1","2.26-7ubuntu2","2.26-8ubuntu1","2.26-8ubuntu2","2.26-8ubuntu2.1","2.26.1-1ubuntu1~16.04","2.26.1-1ubuntu1~16.04.1","2.26.1-1ubuntu1~16.04.3","2.26.1-1ubuntu1~16.04.4","2.26.1-1ubuntu1~16.04.5","2.26.1-1ubuntu1~16.04.6","2.26.1-1ubuntu1~16.04.7","2.26.1-1ubuntu1~16.04.8","2.26.1-1ubuntu1~16.04.8+esm1","2.26.1-1ubuntu1~16.04.8+esm3","2.26.1-1ubuntu1~16.04.8+esm4","2.26.1-1ubuntu1~16.04.8+esm5","2.26.1-1ubuntu1~16.04.8+esm6","2.26.1-1ubuntu1~16.04.8+esm7","2.26.1-1ubuntu1~16.04.8+esm9","2.26.1-1ubuntu1~16.04.8+esm11","2.26.1-1ubuntu1~16.04.8+esm12","2.26.1-1ubuntu1~16.04.8+esm13","2.26.1-1ubuntu1~16.04.8+esm14"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.29.1-4ubuntu1","2.29.1-6ubuntu1","2.29.1-7ubuntu1","2.29.1-8ubuntu1","2.29.1-10ubuntu1","2.29.1-12ubuntu1","2.30-4ubuntu1","2.30-5ubuntu1","2.30-7ubuntu1","2.30-8ubuntu1","2.30-9ubuntu1","2.30-10ubuntu1","2.30-11ubuntu1","2.30-14ubuntu2","2.30-15ubuntu1","2.30-20ubuntu2~18.04","2.30-21ubuntu1~18.04","2.30-21ubuntu1~18.04.1","2.30-21ubuntu1~18.04.2","2.30-21ubuntu1~18.04.3","2.30-21ubuntu1~18.04.4","2.30-21ubuntu1~18.04.5","2.30-21ubuntu1~18.04.7","2.30-21ubuntu1~18.04.8","2.30-21ubuntu1~18.04.9","2.30-21ubuntu1~18.04.9+esm1","2.30-21ubuntu1~18.04.9+esm3","2.30-21ubuntu1~18.04.9+esm4","2.30-21ubuntu1~18.04.9+esm5","2.30-21ubuntu1~18.04.9+esm13"]},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.33-2ubuntu1","2.33.1-1ubuntu1","2.33.1-5ubuntu1","2.33.1-6ubuntu1","2.33.1-6ubuntu3","2.33.90.20200122-1ubuntu2","2.34-1ubuntu1","2.34-3ubuntu1","2.34-4ubuntu1","2.34-5ubuntu1","2.34-6ubuntu1","2.34-6ubuntu1.1","2.34-6ubuntu1.3","2.34-6ubuntu1.4","2.34-6ubuntu1.5","2.34-6ubuntu1.6","2.34-6ubuntu1.7","2.34-6ubuntu1.8","2.34-6ubuntu1.9","2.34-6ubuntu1.10","2.34-6ubuntu1.11","2.34-6ubuntu1.11+esm1","2.34-6ubuntu1.11+esm2"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.37-7ubuntu1","2.37-9ubuntu1","2.37-10ubuntu1","2.37.50.20220106-2ubuntu1","2.37.90.20220126-0ubuntu1","2.37.90.20220130-0ubuntu2","2.38-1ubuntu1","2.38-2ubuntu1","2.38-3ubuntu1","2.38-4ubuntu2","2.38-4ubuntu2.1","2.38-4ubuntu2.2","2.38-4ubuntu2.3","2.38-4ubuntu2.4","2.38-4ubuntu2.5","2.38-4ubuntu2.6","2.38-4ubuntu2.7","2.38-4ubuntu2.8","2.38-4ubuntu2.10","2.38-4ubuntu2.11","2.38-4ubuntu2.12"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.41-5ubuntu1","2.41-6ubuntu1","2.41.50.20231206-1ubuntu1","2.41.50.20231214-1ubuntu1","2.41.50.20231227-1ubuntu1","2.41.90.20240122-1ubuntu1","2.42-2ubuntu1","2.42-3ubuntu1","2.42-4ubuntu1","2.42-4ubuntu2","2.42-4ubuntu2.3","2.42-4ubuntu2.4","2.42-4ubuntu2.5","2.42-4ubuntu2.6","2.42-4ubuntu2.7","2.42-4ubuntu2.8","2.42-4ubuntu2.10"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.46-3ubuntu2","2.46.50.20260608-1ubuntu1","2.47-2ubuntu1","2.47-6ubuntu1"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.45-7ubuntu1","2.45-7ubuntu2","2.45-8ubuntu1","2.45.50.20251125-1ubuntu1","2.45.50.20251201-1ubuntu1","2.45.50.20251209-1ubuntu1","2.45.50.20260119-1ubuntu1","2.46-1ubuntu1","2.46-2ubuntu1","2.46-3ubuntu1","2.46-3ubuntu2"]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"binutils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.47-2.1"}]}],"bundled":4}],"products":[{"vendor":"red hat","product":"red hat enterprise linux 10"},{"vendor":"red hat","product":"red hat enterprise linux 6"},{"vendor":"red hat","product":"red hat enterprise linux 7"},{"vendor":"red hat","product":"red hat enterprise linux 8"},{"vendor":"red hat","product":"red hat enterprise linux 9"},{"vendor":"red hat","product":"red hat hardened images"},{"vendor":"red hat","product":"red hat openshift ai (rhoai)"},{"vendor":"red hat","product":"red hat openshift container platform 4"},{"vendor":"red hat","product":"red hat openshift container platform 5"},{"vendor":"redhat","product":"enterprise_linux"},{"vendor":"redhat","product":"hardened_images"},{"vendor":"redhat","product":"openshift_container_platform"}],"references":[{"url":"https://access.redhat.com/errata/RHSA-2026:82359","tags":["vendor-advisory","x_refsource_REDHAT","advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2026-19548","tags":["vdb-entry","x_refsource_REDHAT","Vendor Advisory","report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2507832","tags":["issue-tracking","x_refsource_REDHAT","Issue Tracking","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-19548","tags":["web","advisory"]},{"url":"https://github.com/advisories/GHSA-j77f-3ffj-4jg4"},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-19548","tags":["advisory"]},{"url":"https://access.redhat.com/security/updates/classification/","tags":["article"]},{"url":"https://images.redhat.com/","tags":["article"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_82359.json","tags":["advisory"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-19548","tags":["advisory","report"]},{"url":"https://ubuntu.com/security/CVE-2026-19548","tags":["report"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2026-19548","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-19582","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-90828","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-91781","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2026-19548","title":"Binutils: binutils: multiple use-after-free in add_archive_element via lto plugin processing","description":"Multiple Use-After-Free vulnerabilities were found in the add_archive_element function in ld/ldmain.c of the GNU linker (ld), a component of binutils. The root cause is that plugin_maybe_claim() in ld/plugin.c frees the original BFD object via bfd_close/_bfd_delete_bfd when entry-\u003ethe_bfd-\u003emy_archive == NULL, but the caller retains both the original abfd parameter and a shallow copy (orig_input.the_bfd) as dangling pointers. These dangling pointers are subsequently dereferenced at three distinct locations in add_archive_element:\n\n1. Line ~1442: accessing abfd-\u003emy_archive via bfd_usrdata(abfd-\u003emy_archive)\n2. Line ~1493: multiple accesses to abfd and abfd-\u003emy_archive in a conditional check and bfd_get_filename call\n3. Line ~1525: dereferencing the shallow copy orig_input.the_bfd-\u003emy_archive in trace/verbose logging\n\nThe vulnerability is triggered when LTO plugins are active (link_info.lto_plugin_active is true) and the input object has abfd-\u003emy_archive == NULL, which is a valid state for standalone object files. Red Hat builds binutils with --enable-plugins and --enable-lto, confirming the vulnerable code path is compiled in and reachable.\n\nAn attacker who can supply a crafted object or archive file to a build process using LTO-enabled linking could exploit this flaw to cause a denial of service (linker crash via segmentation fault). Arbitrary code execution is theoretically possible through heap manipulation but is substantially mitigated by hardening measures including stack protector, FORTIFY_SOURCE, ASLR, and PIE.\n\nThe attack surface is limited to build-time environments — the linker is a development tool not exposed in production runtime. The most realistic exploitation scenario is a supply chain attack introducing a crafted object file as a build dependency in CI/CD pipelines or development environments.","status":"published","published":"2026-08-12T15:51:39.126Z","modified":"2026-11-06T07:42:33.871Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium","assessor":"cna"}],"cwes":["CWE-416"],"updated_at":"2026-11-06T08:57:32.08691Z"}],"euvd":[{"id":"EUVD-2026-57318","description":"Multiple Use-After-Free vulnerabilities were found in the add_archive_element function in ld/ldmain.c of the GNU linker (ld), a component of binutils. The root cause is that plugin_maybe_claim() in ld/plugin.c frees the original BFD object via bfd_close/_bfd_delete_bfd when entry-\u003ethe_bfd-\u003emy_archive == NULL, but the caller retains both the original abfd parameter and a shallow copy (orig_input.the_bfd) as dangling pointers. These dangling pointers are subsequently dereferenced at three distinct locations in add_archive_element:\n\n1. Line ~1442: accessing abfd-\u003emy_archive via bfd_usrdata(abfd-\u003emy_archive)\n2. Line ~1493: multiple accesses to abfd and abfd-\u003emy_archive in a conditional check and bfd_get_filename call\n3. Line ~1525: dereferencing the shallow copy orig_input.the_bfd-\u003emy_archive in trace/verbose logging\n\nThe vulnerability is triggered when LTO plugins are active (link_info.lto_plugin_active is true) and the input object has abfd-\u003emy_archive == NULL, which is a valid state for standalone object files. Red Hat builds binutils with --enable-plugins and --enable-lto, confirming the vulnerable code path is compiled in and reachable.\n\nAn attacker who can supply a crafted object or archive file to a build process using LTO-enabled linking could exploit this flaw to cause a denial of service (linker crash via segmentation fault). Arbitrary code execution is theoretically possible through heap manipulation but is substantially mitigated by hardening measures including stack protector, FORTIFY_SOURCE, ASLR, and PIE.\n\nThe attack surface is limited to build-time environments — the linker is a development tool not exposed in production runtime. The most realistic exploitation scenario is a supply chain attack introducing a crafted object file as a build dependency in CI/CD pipelines or development environments.","status":"published","published":"2026-08-12T15:51:39Z","modified":"2026-11-06T07:42:33Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-06T09:04:28.113071Z"}],"ghsa":[{"id":"GHSA-j77f-3ffj-4jg4","title":"Multiple Use-After-Free vulnerabilities were found in the add_archive_element function in ld...","description":"Multiple Use-After-Free vulnerabilities were found in the add_archive_element function in ld/ldmain.c of the GNU linker (ld), a component of binutils. The root cause is that plugin_maybe_claim() in ld/plugin.c frees the original BFD object via bfd_close/_bfd_delete_bfd when entry-\u003ethe_bfd-\u003emy_archive == NULL, but the caller retains both the original abfd parameter and a shallow copy (orig_input.the_bfd) as dangling pointers. These dangling pointers are subsequently dereferenced at three distinct locations in add_archive_element:\n\n1. Line ~1442: accessing abfd-\u003emy_archive via bfd_usrdata(abfd-\u003emy_archive)\n2. Line ~1493: multiple accesses to abfd and abfd-\u003emy_archive in a conditional check and bfd_get_filename call\n3. Line ~1525: dereferencing the shallow copy orig_input.the_bfd-\u003emy_archive in trace/verbose logging\n\nThe vulnerability is triggered when LTO plugins are active (link_info.lto_plugin_active is true) and the input object has abfd-\u003emy_archive == NULL, which is a valid state for standalone object files. Red Hat builds binutils with --enable-plugins and --enable-lto, confirming the vulnerable code path is compiled in and reachable.\n\nAn attacker who can supply a crafted object or archive file to a build process using LTO-enabled linking could exploit this flaw to cause a denial of service (linker crash via segmentation fault). Arbitrary code execution is theoretically possible through heap manipulation but is substantially mitigated by hardening measures including stack protector, FORTIFY_SOURCE, ASLR, and PIE.\n\nThe attack surface is limited to build-time environments — the linker is a development tool not exposed in production runtime. The most realistic exploitation scenario is a supply chain attack introducing a crafted object file as a build dependency in CI/CD pipelines or development environments.","status":"published","published":"2026-08-12T18:31:17Z","modified":"2026-10-14T03:30:32Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"cwes":["CWE-416"],"updated_at":"2026-11-02T15:13:22.12395Z"}],"nvd":[{"id":"CVE-2026-19548","description":"Multiple Use-After-Free vulnerabilities were found in the add_archive_element function in ld/ldmain.c of the GNU linker (ld), a component of binutils. The root cause is that plugin_maybe_claim() in ld/plugin.c frees the original BFD object via bfd_close/_bfd_delete_bfd when entry-\u003ethe_bfd-\u003emy_archive == NULL, but the caller retains both the original abfd parameter and a shallow copy (orig_input.the_bfd) as dangling pointers. These dangling pointers are subsequently dereferenced at three distinct locations in add_archive_element:\n\n1. Line ~1442: accessing abfd-\u003emy_archive via bfd_usrdata(abfd-\u003emy_archive)\n2. Line ~1493: multiple accesses to abfd and abfd-\u003emy_archive in a conditional check and bfd_get_filename call\n3. Line ~1525: dereferencing the shallow copy orig_input.the_bfd-\u003emy_archive in trace/verbose logging\n\nThe vulnerability is triggered when LTO plugins are active (link_info.lto_plugin_active is true) and the input object has abfd-\u003emy_archive == NULL, which is a valid state for standalone object files. Red Hat builds binutils with --enable-plugins and --enable-lto, confirming the vulnerable code path is compiled in and reachable.\n\nAn attacker who can supply a crafted object or archive file to a build process using LTO-enabled linking could exploit this flaw to cause a denial of service (linker crash via segmentation fault). Arbitrary code execution is theoretically possible through heap manipulation but is substantially mitigated by hardening measures including stack protector, FORTIFY_SOURCE, ASLR, and PIE.\n\nThe attack surface is limited to build-time environments — the linker is a development tool not exposed in production runtime. The most realistic exploitation scenario is a supply chain attack introducing a crafted object file as a build dependency in CI/CD pipelines or development environments.","status":"published","published":"2026-08-12T16:16:55.777Z","modified":"2026-11-06T08:17:24.423Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium","assessor":"secondary"}],"cwes":["CWE-416"],"updated_at":"2026-11-06T11:59:56.786002Z"}],"osv":[{"id":"DEBIAN-CVE-2026-19548","description":"Multiple Use-After-Free vulnerabilities were found in the add_archive_element function in ld/ldmain.c of the GNU linker (ld), a component of binutils. The root cause is that plugin_maybe_claim() in ld/plugin.c frees the original BFD object via bfd_close/_bfd_delete_bfd when entry-\u003ethe_bfd-\u003emy_archive == NULL, but the caller retains both the original abfd parameter and a shallow copy (orig_input.the_bfd) as dangling pointers. These dangling pointers are subsequently dereferenced at three distinct locations in add_archive_element:  1. Line ~1442: accessing abfd-\u003emy_archive via bfd_usrdata(abfd-\u003emy_archive) 2. Line ~1493: multiple accesses to abfd and abfd-\u003emy_archive in a conditional check and bfd_get_filename call 3. Line ~1525: dereferencing the shallow copy orig_input.the_bfd-\u003emy_archive in trace/verbose logging  The vulnerability is triggered when LTO plugins are active (link_info.lto_plugin_active is true) and the input object has abfd-\u003emy_archive == NULL, which is a valid state for standalone object files. Red Hat builds binutils with --enable-plugins and --enable-lto, confirming the vulnerable code path is compiled in and reachable.  An attacker who can supply a crafted object or archive file to a build process using LTO-enabled linking could exploit this flaw to cause a denial of service (linker crash via segmentation fault). Arbitrary code execution is theoretically possible through heap manipulation but is substantially mitigated by hardening measures including stack protector, FORTIFY_SOURCE, ASLR, and PIE.  The attack surface is limited to build-time environments — the linker is a development tool not exposed in production runtime. The most realistic exploitation scenario is a supply chain attack introducing a crafted object file as a build dependency in CI/CD pipelines or development environments.","status":"published","published":"2026-08-12T16:16:55.777Z","modified":"2026-11-07T09:47:26.920534377Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-07T10:14:39.995311Z"},{"id":"RHSA-2026:82359","title":"Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update","status":"published","published":"2026-10-14T10:32:48Z","modified":"2026-10-14T10:47:36.021624367Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T15:53:23.547034Z"},{"id":"UBUNTU-CVE-2026-19548","description":"Multiple Use-After-Free vulnerabilities were found in the add_archive_element function in ld/ldmain.c of the GNU linker (ld), a component of binutils. The root cause is that plugin_maybe_claim() in ld/plugin.c frees the original BFD object via bfd_close/_bfd_delete_bfd when entry-\u003ethe_bfd-\u003emy_archive == NULL, but the caller retains both the original abfd parameter and a shallow copy (orig_input.the_bfd) as dangling pointers. These dangling pointers are subsequently dereferenced at three distinct locations in add_archive_element: 1. Line ~1442: accessing abfd-\u003emy_archive via bfd_usrdata(abfd-\u003emy_archive) 2. Line ~1493: multiple accesses to abfd and abfd-\u003emy_archive in a conditional check and bfd_get_filename call 3. Line ~1525: dereferencing the shallow copy orig_input.the_bfd-\u003emy_archive in trace/verbose logging The vulnerability is triggered when LTO plugins are active (link_info.lto_plugin_active is true) and the input object has abfd-\u003emy_archive == NULL, which is a valid state for standalone object files. Red Hat builds binutils with --enable-plugins and --enable-lto, confirming the vulnerable code path is compiled in and reachable. An attacker who can supply a crafted object or archive file to a build process using LTO-enabled linking could exploit this flaw to cause a denial of service (linker crash via segmentation fault). Arbitrary code execution is theoretically possible through heap manipulation but is substantially mitigated by hardening measures including stack protector, FORTIFY_SOURCE, ASLR, and PIE. The attack surface is limited to build-time environments — the linker is a development tool not exposed in production runtime. The most realistic exploitation scenario is a supply chain attack introducing a crafted object file as a build dependency in CI/CD pipelines or development environments.","status":"published","published":"2026-08-12T16:16:00Z","modified":"2026-10-17T12:59:54.369942601Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T16:56:01.334185Z"},{"id":"AZL-95892","title":"CVE-2026-19548 affecting package binutils 2.41-14","description":"Multiple Use-After-Free vulnerabilities were found in the add_archive_element function in ld/ldmain.c of the GNU linker (ld), a component of binutils. The root cause is that plugin_maybe_claim() in ld/plugin.c frees the original BFD object via bfd_close/_bfd_delete_bfd when entry-\u003ethe_bfd-\u003emy_archive == NULL, but the caller retains both the original abfd parameter and a shallow copy (orig_input.the_bfd) as dangling pointers. These dangling pointers are subsequently dereferenced at three distinct locations in add_archive_element:\n\n1. Line ~1442: accessing abfd-\u003emy_archive via bfd_usrdata(abfd-\u003emy_archive)\n2. Line ~1493: multiple accesses to abfd and abfd-\u003emy_archive in a conditional check and bfd_get_filename call\n3. Line ~1525: dereferencing the shallow copy orig_input.the_bfd-\u003emy_archive in trace/verbose logging\n\nThe vulnerability is triggered when LTO plugins are active (link_info.lto_plugin_active is true) and the input object has abfd-\u003emy_archive == NULL, which is a valid state for standalone object files. Red Hat builds binutils with --enable-plugins and --enable-lto, confirming the vulnerable code path is compiled in and reachable.\n\nAn attacker who can supply a crafted object or archive file to a build process using LTO-enabled linking could exploit this flaw to cause a denial of service (linker crash via segmentation fault). Arbitrary code execution is theoretically possible through heap manipulation but is substantially mitigated by hardening measures including stack protector, FORTIFY_SOURCE, ASLR, and PIE.\n\nThe attack surface is limited to build-time environments — the linker is a development tool not exposed in production runtime. The most realistic exploitation scenario is a supply chain attack introducing a crafted object file as a build dependency in CI/CD pipelines or development environments.","status":"published","published":"2026-08-12T16:16:55Z","modified":"2026-11-05T05:40:51Z","updated_at":"2026-11-05T16:41:26.077208Z"},{"id":"openSUSE-SU-2026:12315-1","title":"binutils-2.47-2.1 on GA media","description":"These are all security issues fixed in the binutils-2.47-2.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-10-28T00:00:00Z","modified":"2026-10-29T12:15:06.089902734Z","updated_at":"2026-11-02T16:58:40.245664Z"}]}}
