REDHAT-BUG-2556265: Medium severity redhat/iscsi-initiator-utils vulnerability

Published Oct 20, 2026
·
Updated

Summary: The DHCPv4 option parser in iscsiuio passes the total UDP payload length to parseoptions() instead of the options-only length, causing the parser to walk 240 bytes past the actual end of options data into adjacent heap memory.

Component affected: iscsi-initiator-utils (iscsiuio), iscsiuio/src/apps/dhcpc/dhcpc.c, parsemsg() (line 241) and parseoptions() (line 206).

Vulnerability Details:

parsemsg() at line 249 calls: parseoptions(s, &m->options[4], uipdatalen(s->ustack))

uipdatalen() returns the total UDP payload length, but &m->options[4] points 240 bytes into the DHCP message (236-byte struct dhcpmsg header + 4-byte magic cookie). The end pointer in parseoptions() (line 208: end = optptr + len) is therefore 240 bytes past the actual end of the options data.

Additionally, parseoptions() reads optptr[1] (option length byte) without verifying 2 bytes remain before end, and all memcpy calls use hardcoded 4-byte sizes without checking the option's declared length field.

This is distinct from CVE-2026-18728, which fixes an integer underflow in uipprocess() where uiplen wraps when IPv4 Total Length < 28. This bug is in parsemsg() itself — even with a correctly computed uiplen, the offset subtraction is missing.

Requirements to exploit: Adjacent-network access on the same L2 segment as a system running iscsiuio with IPv4 DHCP enabled. The attacker must spoof a DHCP reply matching the xid and chaddr from a prior DHCP discover (both observable on L2). No authentication or user interaction required.

Version affected: All versions including latest upstream master (a65ce4b). Confirmed unfixed via ASAN-instrumented build on RHEL 10.2 (iscsi-initiator-utils-6.2.1.11-1.git4b3e853.el102.2) and upstream master.

Dynamic confirmation: ASAN SEGV in handledhcp → memcpy with OOB-derived pointer. Reproducible unit test provided.

CVSS: CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H - 7.4 AV:A — L2-adjacent access required AC:L — standard DHCP spoofing PR:N / UI:N — no privileges or user interaction S:U — impact within iscsiuio's own security authority C:L — heap data leaks into network configuration I:L — attacker-influenced network config via heap data A:H — OOB read → SEGV crash confirmed; iSCSI-boot system loses connectivity

Proposed Fix: Subtract the DHCP message header size from the length passed to parseoptions: return parseoptions(s, &m->options[4], uipdatalen(s->ustack) - DHCPMSGLEN - 4);

Upstream status: No fix exists. CVE-2026-18728 does NOT cover this bug. Acknowledgement: Red Hat Product Security

Affected Software

1 affected component
redhat/iscsi-initiator-utils

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Compensating control

    Patch iscsiuio/src/apps/dhcpc/dhcpc.c so parse_msg() passes the options-only length to parse_options(): use `uip_datalen(s->ustack) - DHCP_MSG_LEN - 4` instead of `uip_datalen(s->ustack)`. No upstream fix exists.

Event History

Oct 20, 2026
Data Sourced
via Red Hat·03:50 PM
DescriptionSeverityAffected Software

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203