-
Bug
-
Resolution: Done
-
Major
-
2.2.16.Final
-
None
When undertow receives an X-Forwarded-For header that contains an ipv6 address, this ip v6 address is parsed by the
io.undertow.util.NetworkUtils.parseIpv6AddressToBytes() method.
This method rejects ipv6 addresses that contains leading zeroes.
For example, this address is considered valid:
2001:DB8:0:CD30:123:4567:89AB:CDEF
while this one is considered as invalid:
2001:0DB8:0:CD30:0123:4567:89AB:CDEF
This behaviour is implemented here:
Yet, by looking at the RFC 4291, we can read that
"it is not necessary to write the leading zeros" (see section 2.2 here: https://datatracker.ietf.org/doc/html/rfc4291)
So, to my understanding, ipv6 with leading zeroes should not be rejected by the ipv6 parser of undertow.
- is duplicated by
-
UNDERTOW-2016 Undertow returns 500 response when first address in X-Forwarded-For is ipv6 with leading 0 in any part
- Resolved
- is incorporated by
-
WFCORE-5867 Upgrade Undertow to 2.2.17.Final
- Closed