<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/NetworkPkg, branch dependabot/github_actions/actions/setup-python-7</title>
<subtitle>EDK II (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Factions%2Fsetup-python-7</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Factions%2Fsetup-python-7'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/'/>
<updated>2026-07-14T18:10:05+00:00</updated>
<entry>
<title>NetworkPkg/UefiPxeBcDxe: Fix CopyMem destination in PxeBcDhcp6CallBack</title>
<updated>2026-07-14T18:10:05+00:00</updated>
<author>
<name>abuthahirm</name>
<email>abuthahirm@ami.com</email>
</author>
<published>2026-04-30T11:29:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=7442655403aacaff7e4d7f0b1bafaefa6c781c2b'/>
<id>urn:sha1:7442655403aacaff7e4d7f0b1bafaefa6c781c2b</id>
<content type='text'>
When caching the DHCPv6 discover packet to Mode-&gt;DhcpDiscover in
PxeBcDhcp6CallBack, the destination was incorrectly specified as
Mode-&gt;DhcpDiscover.Dhcpv4 (the DHCPv4 union member). Change it to
Mode-&gt;DhcpDiscover to correctly reference the union and avoid
type confusion when copying a DHCPv6 packet.

Signed-off-by: Abuthahir M &lt;abuthahirm@ami.com&gt;
</content>
</entry>
<entry>
<title>NetworkPkg/Ip6Dxe: Add NULL check for InterfaceId before dereference</title>
<updated>2026-07-14T18:10:05+00:00</updated>
<author>
<name>abuthahirm</name>
<email>abuthahirm@ami.com</email>
</author>
<published>2026-04-30T11:29:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=a589f6fe03f417f0a1db265dfc42fe2a6595dc1b'/>
<id>urn:sha1:a589f6fe03f417f0a1db265dfc42fe2a6595dc1b</id>
<content type='text'>
In Ip6ProcessRouterAdvertise, IpSb-&gt;InterfaceId is dereferenced in
CopyMem to form a stateless address. Add a guard to ensure
IpSb-&gt;InterfaceId is not NULL before entering the block, preventing
a potential NULL pointer dereference.

Signed-off-by: Abuthahir M &lt;abuthahirm@ami.com&gt;
</content>
</entry>
<entry>
<title>NetworkPkg/Ip6Dxe: Move neighbor table cleanup before MNP teardown</title>
<updated>2026-07-14T18:10:05+00:00</updated>
<author>
<name>abuthahirm</name>
<email>abuthahirm@ami.com</email>
</author>
<published>2026-04-30T11:29:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=d21677e0bcc3b811d896e231775ef64584348470'/>
<id>urn:sha1:d21677e0bcc3b811d896e231775ef64584348470</id>
<content type='text'>
In Ip6CleanService, Ip6FreeNeighborEntry may attempt to send packets via
MNP. Defensively move the neighbor table cleanup to occur before MNP
teardown so that the MNP child handle and its resources remain valid
during neighbor entry cleanup.

Signed-off-by: Abuthahir M &lt;abuthahirm@ami.com&gt;
</content>
</entry>
<entry>
<title>NetworkPkg/Dhcp6Dxe: Defensively check for NULL Config in Dhcp6UpdateIaInfo</title>
<updated>2026-07-14T18:10:05+00:00</updated>
<author>
<name>abuthahirm</name>
<email>abuthahirm@ami.com</email>
</author>
<published>2026-04-30T11:29:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=bc15a87b74e70ebcbb2428bf9d0d87265c018e84'/>
<id>urn:sha1:bc15a87b74e70ebcbb2428bf9d0d87265c018e84</id>
<content type='text'>
Replace the ASSERT (Instance-&gt;Config != NULL) in Dhcp6UpdateIaInfo with
an explicit NULL check that returns EFI_DEVICE_ERROR. Also add a
complementary guard in Dhcp6GenerateIaCb alongside the existing check
for Instance-&gt;IaCb.Ia. These are defensive changes to prevent potential
NULL pointer dereferences.

Signed-off-by: Abuthahir M &lt;abuthahirm@ami.com&gt;
</content>
</entry>
<entry>
<title>NetworkPkg/SnpDxe: Fix MAC address passthrough support</title>
<updated>2026-06-30T17:27:16+00:00</updated>
<author>
<name>Jared Pan</name>
<email>jared.pan@dell.com</email>
</author>
<published>2026-06-24T01:21:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=9a65be14eb21910a21e0a11e0014c1b20a8ee6ef'/>
<id>urn:sha1:9a65be14eb21910a21e0a11e0014c1b20a8ee6ef</id>
<content type='text'>
During SnpUndi32Initialize(), CurrentAddress is unconditionally
overwritten with PermanentAddress before UNDI initialization. This
causes MAC address passthrough (MacPassthru) to fail, as the NIC's
actual current address, which may differ from its permanent address,
is lost.

After UNDI initialization completes, call PxeGetStnAddr() to read
the NIC's station address via the UNDI interface and update
CurrentAddress, PermanentAddress, and BroadcastAddress in the mode
structure with the values reported by the hardware.

The call is added to both initialization paths: the cable-detect
success path and the fallback no-cable-detect path.

Signed-off-by: Jared Pan &lt;jared.pan@dell.com&gt;
</content>
</entry>
<entry>
<title>NetworkPkg/IScsiDxe: bound value length in IScsiBuildKeyValueList</title>
<updated>2026-06-30T16:34:46+00:00</updated>
<author>
<name>Syed Mohammed Nayyar</name>
<email>jmestwa@gmail.com</email>
</author>
<published>2026-06-02T06:53:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=24788b6190abc736d614a7218f72ac7a0f27924a'/>
<id>urn:sha1:24788b6190abc736d614a7218f72ac7a0f27924a</id>
<content type='text'>
IScsiBuildKeyValueList parses the data segment of a received iSCSI
login, text or CHAP response into key=value pairs. After locating '='
within the remaining length, it sets KeyValuePair-&gt;Value and calls
AsciiStrLen(Value) to measure the value before subtracting it from the
remaining length. AsciiStrLen has no length cap, and the data segment
copied from the received PDU (AllocatePool(Len) + NetbufQueCopy of the
data-segment length) is not guaranteed to be NUL-terminated.

A malicious or redirecting target can send a data segment whose final
value lacks a trailing NUL (e.g. the 3 bytes "X=Y"), so AsciiStrLen
reads past the end of the segment allocation, an attacker-controlled
out-of-bounds read. The SafeUint32Sub bound check only runs after the
over-read.

Replace AsciiStrLen(Value) with AsciiStrnLenS(Value, Len), capping the
scan to the bytes remaining from Value onward. An unterminated value
then returns Len and the existing SafeUint32Sub rejects the segment.
The single change covers all three callers (login redirect, operational
parameter negotiation and CHAP).

Signed-off-by: Syed Mohammed Nayyar &lt;jmestwa@gmail.com&gt;
</content>
</entry>
<entry>
<title>NetworkPkg/UefiPxeBcDxe: Initialize IPV4 token in IPV4 branch</title>
<updated>2026-06-25T01:13:27+00:00</updated>
<author>
<name>Michael Kubacki</name>
<email>michael.kubacki@microsoft.com</email>
</author>
<published>2026-02-03T22:58:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=b3f57868cea5213772328f1188e6fc2311b2dc28'/>
<id>urn:sha1:b3f57868cea5213772328f1188e6fc2311b2dc28</id>
<content type='text'>
EfiPxeBcStart() in PxeBcImpl.c has conditional code branches for
IPV4 and IPV6.

- IPV4 branch should use EFI_IP4_COMPLETION_TOKEN which is
Private-&gt;IcmpToken.
- IPV6 branch should use EFI_IP6_COMPLETION_TOKEN which is
Private-&gt;Icmp6Token.

Right now, the IPv4 branch incorrectly initializes
Private-&gt;Icmp6Token to EFI_NOT_READY. That is changed to
Private-&gt;IcmpToken.

Signed-off-by: Michael Kubacki &lt;michael.kubacki@microsoft.com&gt;
</content>
</entry>
<entry>
<title>NetworkPkg: Ip4Dxe: Fix uninitialized variable warning</title>
<updated>2026-06-24T14:49:50+00:00</updated>
<author>
<name>Tuan Phan</name>
<email>tuan.phan@oss.qualcomm.com</email>
</author>
<published>2026-06-15T18:35:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=1cb1184b50229406a3a47c3024018795792837f7'/>
<id>urn:sha1:1cb1184b50229406a3a47c3024018795792837f7</id>
<content type='text'>
In Ip4FormExtractConfig(), the Status variable was assigned only within
a conditional block but used outside of it, which could lead to an
uninitialized variable warning.

Fix this by moving the relevant code outside of the conditional block so
that Status is always properly initialized before use.

Signed-off-by: Tuan Phan &lt;tuan.phan@oss.qualcomm.com&gt;
</content>
</entry>
<entry>
<title>NetworkPkg: HttpBootDxe: Fix uninitialized variable warnings</title>
<updated>2026-06-24T14:49:50+00:00</updated>
<author>
<name>Tuan Phan</name>
<email>tuan.phan@oss.qualcomm.com</email>
</author>
<published>2026-02-10T23:20:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=56723842fd47bfdfd738c981b428ea625d0af35f'/>
<id>urn:sha1:56723842fd47bfdfd738c981b428ea625d0af35f</id>
<content type='text'>
In HttpBootGetBootFileCaller(), under the LoadBootFile case, the Status
variable is only assigned within a for loop. If the loop is not executed,
this results in an uninitialized variable warning when Status is later
referenced.

Resolve this issue by return Status directly inside the loop.

Signed-off-by: Tuan Phan &lt;tuan.phan@oss.qualcomm.com&gt;
</content>
</entry>
<entry>
<title>NetworkPkg/Dhcp6Dxe: bound IA inner option length to buffer</title>
<updated>2026-06-18T21:59:02+00:00</updated>
<author>
<name>jmestwa-coder</name>
<email>jmestwa@gmail.com</email>
</author>
<published>2026-05-30T02:34:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=9bf69ed7ed03d88535a43987e5b8105406b42d57'/>
<id>urn:sha1:9bf69ed7ed03d88535a43987e5b8105406b42d57</id>
<content type='text'>
Dhcp6SeekInnerOptionSafe() reads the IA_NA/IA_TA option-len field from a
received datagram and only validates it against the fixed minimums, never
against OptionLen (the bytes actually remaining in the packet). A reply
can declare an option-len up to 0xFFFF while the real buffer is only the
16-byte (IA_NA) or 8-byte (IA_TA) minimum, so the returned inner length
is far larger than the buffer.

That length is then passed as SeekLen to Dhcp6SeekOption(), which walks
ReadUnaligned16() cursors up to Buf + SeekLen and reads past the end of
the packet allocation, an attacker-controlled out-of-bounds read.

Bound the declared inner length against OptionLen minus the IA header
size in both the IA_NA and IA_TA branches, rejecting over-declared
options with EFI_DEVICE_ERROR. Parenthesize DHCP6_MIN_SIZE_OF_IA_NA so
the subtraction in that bound binds correctly. Add host tests covering
the over-declared, off-by-one, and exact-boundary cases for both IA_NA
and IA_TA.

Signed-off-by: jmestwa-coder &lt;jmestwa@gmail.com&gt;
</content>
</entry>
</feed>
