Skip to content

IPv6 regex accepts invalid formats #2039

@zaelgohary

Description

@zaelgohary

Describe the bug
IPv6 regex accepts invalid formats.

Examples

  • BC:e4d5:c:e7b9::%40i0nccymtl9cwfKo.5vaeXLSGRMe:EDh2qs5wkhnPws5xQKqafjfAMm6wGFCJ.bVFsZfb
  • 1dC:0DF8:62D:3AC::%KTatXocjaFVioS0RTNQl4mA.V151o0RSy.JIu-D-D8.d3171ZWsSJ7PK4YjkJCRN0F

Recommended Fix
The issue can be fixed by changing lines 44 & 45 in isIP.js file to the following:
(?::((?::${IPv6SegmentFormat}){0,5}:${IPv4AddressFormat}|(?::${IPv6SegmentFormat}){1,7}|:)) +
')([0-9a-fA-F]{1})?$');

Additional context
Validator.js version: 13.7.0
Node.js version: v16.14.2
OS platform: Linux

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions