From d91be02599ca89328152fd23ac91baab44c062fb Mon Sep 17 00:00:00 2001 From: Zaid Abdulla Date: Fri, 12 Aug 2022 11:32:15 -0700 Subject: [PATCH] Fix exception matching IPv6 against IPv4 CIDR --- lib/forwarded.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/forwarded.ts b/lib/forwarded.ts index c73eac0..7c88c88 100644 --- a/lib/forwarded.ts +++ b/lib/forwarded.ts @@ -111,8 +111,10 @@ export function getRequestOrigin(request: IncomingMessage): RequestOrigin { const header = request.headers["forwarded"]; if (header) { - const ip = parse(socketEndpoints.remoteAddress) as IPv4; - if (cidrs.some((cidr) => ip.match(cidr as [IPv4, number]))) { + const ip = parse(socketEndpoints.remoteAddress); + if ( + cidrs.some((cidr) => ip.kind() === cidr[0].kind() && ip.match(cidr)) + ) { const parsed = parseForwardedHeader(header); if (parsed["proto"] === "https") {