VirtualBox

Ignore:
Timestamp:
Apr 7, 2020 1:15:34 AM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
136996
Message:

NAT: bugref:9694 - libalias NBT - IP header is verified, but UDP
header is not, so cross check UDP length against IP header.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Network/slirp/libalias/alias_nbt.c

    r63015 r83597  
    437437    pmax = (char *)uh + ntohs(uh->uh_ulen);
    438438
     439    /* IP header has been verified, cross-check uh_ulen */
     440    if (RT_UNLIKELY(pmax != (char *)pip + ntohs(pip->ip_len)))
     441        return (-1);
     442
    439443    ndh = (NbtDataHeader *)udp_next(uh);
    440444    if ((char *)(ndh + 1) > pmax)
     
    886890    pmax = (char *)uh + ntohs(uh->uh_ulen);
    887891
     892    /* IP header has been verified, cross-check uh_ulen */
     893    if (RT_UNLIKELY(pmax != (char *)pip + ntohs(pip->ip_len)))
     894        return (-1);
     895
    888896    if ((char *)(nsh + 1) > pmax)
    889897        return (-1);
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette