Skip to content

Conversation

@simonswine
Copy link
Contributor

@simonswine simonswine commented Oct 8, 2025

We have tagged version v0.45.0 of golang.org/x/net in order to address two
security issues.

This version fixes two vulnerabilities in the golang.org/x/net/html package
which could result in calls to Parse (and associated functions) executing
unexpectedly slowly relative to the size of the input or never returning when
encountering specific inputs.

These vulnerabilities affect programs which parse untrusted HTML documents.

The parser implements the HTML specification, which contains a number of
algorithms which are quadratic in complexity by design. This causes the
processing time to scale non-linearly with respect to the size of the input for
some HTML documents. We have imposed a depth limit of 512 for nested HTML tags,
which should be high enough for the vast majority of valid HTML documents, to
address this.

Thanks to Jakub Guido Vranken and Jakub Ciolek for both independently reporting
this issue.

This is CVE-2025-47911 and Go issue https://go.dev/issue/75682.

The parser also misimplemented a portion of the HTML specification for table
related tags. This could cause the parser to enter an infinite loop when
encountering specific combinations of tags.

Thanks to Guido Vranken for reporting this issue.

This is CVE-2025-58190 and Go issue https://go.dev/issue/70179.

Cheers,

We have tagged version v0.45.0 of golang.org/x/net in order to address two
security issues.

This version fixes two vulnerabilities in the golang.org/x/net/html package
which could result in calls to Parse (and associated functions) executing
unexpectedly slowly relative to the size of the input or never returning when
encountering specific inputs.

These vulnerabilities affect programs which parse untrusted HTML documents.

The parser implements the HTML specification, which contains a number of
algorithms which are quadratic in complexity by design. This causes the
processing time to scale non-linearly with respect to the size of the input for
some HTML documents. We have imposed a depth limit of 512 for nested HTML tags,
which should be high enough for the vast majority of valid HTML documents, to
address this.

Thanks to Jakub Guido Vranken and Jakub Ciolek for both independently reporting
this issue.

This is CVE-2025-47911 and Go issue https://go.dev/issue/75682.

The parser also misimplemented a portion of the HTML specification for table
related tags. This could cause the parser to enter an infinite loop when
encountering specific combinations of tags.

Thanks to Guido Vranken for reporting this issue.

This is CVE-2025-58190 and Go issue https://go.dev/issue/70179.

Cheers,
Go Security team
@simonswine simonswine force-pushed the 20251008_x/net-upgrade branch from cc3b7d2 to c5235ae Compare October 8, 2025 10:59
@simonswine simonswine changed the title 20251008 x/net upgrade chore: golang.org/x/net v0.45.0 Oct 8, 2025
@simonswine simonswine merged commit b1824a1 into main Oct 8, 2025
20 checks passed
@simonswine simonswine deleted the 20251008_x/net-upgrade branch October 8, 2025 11:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants