Skip to content

Commit f1b851d

Browse files
tyler92cron2
authored andcommitted
socket: reject mismatched address family in get_addr_generic
Add a family check to prevent copying address data of the wrong type, which could cause buffer over-read when parsing routes or endpoints. CVE: 2025-12106 Github: OpenVPN/openvpn-private-issues#77 Signed-off-by: Mikhail Khachaiants <mkhachaiants@gmail.com> Acked-By: Gert Doering <gert@greenie.muc.de> Signed-Off-By: Gert Doering <gert@greenie.muc.de>
1 parent 5ab76ad commit f1b851d

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

‎src/openvpn/socket.c‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,13 @@ get_addr_generic(sa_family_t af, unsigned int flags, const char *hostname, void
147147
struct in6_addr *ip6;
148148
in_addr_t *ip4;
149149

150+
if (af != ai->ai_family)
151+
{
152+
msg(msglevel, "Can't parse %s as IPv%d address", var_host, (af == AF_INET) ? 4 : 6);
153+
ret = -1;
154+
goto out;
155+
}
156+
150157
switch (af)
151158
{
152159
case AF_INET:

0 commit comments

Comments
 (0)