diff options
author | Mark Johnston <markj@FreeBSD.org> | 2018-11-26 13:42:18 +0000 |
---|---|---|
committer | Mark Johnston <markj@FreeBSD.org> | 2018-11-26 13:42:18 +0000 |
commit | d25f8522beb8a7f198dc175b7a39dde18127d419 (patch) | |
tree | d7465447c68f3914de92a69e721ebbb57e912de8 /sys/net/if.h | |
parent | 7d69e4cde77bd1e4caad686f04a543ac96fd25e3 (diff) | |
download | src-d25f8522beb8a7f198dc175b7a39dde18127d419.tar.gz src-d25f8522beb8a7f198dc175b7a39dde18127d419.zip |
Plug routing sysctl leaks.
Various structures exported by sysctl_rtsock() contain padding fields
which were not being zeroed.
Reported by: Thomas Barabosch, Fraunhofer FKIE
Reviewed by: ae
MFC after: 3 days
Security: kernel memory disclosure
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D18333
Notes
Notes:
svn path=/head/; revision=340968
Diffstat (limited to 'sys/net/if.h')
-rw-r--r-- | sys/net/if.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/net/if.h b/sys/net/if.h index 1c860ffedbdf..d6e032e36f7b 100644 --- a/sys/net/if.h +++ b/sys/net/if.h @@ -271,6 +271,7 @@ struct if_msghdr { int ifm_addrs; /* like rtm_addrs */ int ifm_flags; /* value of if_flags */ u_short ifm_index; /* index for associated ifp */ + u_short _ifm_spare1; struct if_data ifm_data;/* statistics and other data about if */ }; @@ -296,6 +297,7 @@ struct if_msghdrl { u_short _ifm_spare1; /* spare space to grow if_index, see if_var.h */ u_short ifm_len; /* length of if_msghdrl incl. if_data */ u_short ifm_data_off; /* offset of if_data from beginning */ + int _ifm_spare2; struct if_data ifm_data;/* statistics and other data about if */ }; @@ -311,6 +313,7 @@ struct ifa_msghdr { int ifam_addrs; /* like rtm_addrs */ int ifam_flags; /* value of ifa_flags */ u_short ifam_index; /* index for associated ifp */ + u_short _ifam_spare1; int ifam_metric; /* value of ifa_ifp->if_metric */ }; @@ -352,6 +355,7 @@ struct ifma_msghdr { int ifmam_addrs; /* like rtm_addrs */ int ifmam_flags; /* value of ifa_flags */ u_short ifmam_index; /* index for associated ifp */ + u_short _ifmam_spare1; }; /* |