Skip to content

net, x/net/dns/dnsmessage: panic when parsing invalid SVCB record #79795

Closed

Description

@neild

Parsing an invalid SVCB or HTTPS RR can panic when
the size of a parameter value overflows the message buffer.

Thanks to Mundur (https://github.com/M0nd0R) for reporting this issue.

This is CVE-2026-46600 and Go issue https://go.dev/issue/79795.


This was a PUBLIC track issue, tracked in http://b/517101980.

Activity

  1. added this to the Unreleased milestone on Jun 2, 2026
  2. gopherbot commented on Jun 2, 2026

    @gopherbot
    Contributor

    Change https://go.dev/cl/786345 mentions this issue: dns/dnsmessage: avoid panic when parsing SVCB record with truncated data

  3. added a commit that references this issue on Jun 5, 2026
    82e7868
  4. Bobi-Wan commented on Jul 14, 2026

    @Bobi-Wan

    Hi! Has this been patched/backported? I don't seem to be able to track further than the mentioned commit above.

  5. nicholashusin commented on Jul 28, 2026

    @nicholashusin
    Member

    @gopherbot Please open backport for this security issue.

  6. gopherbot commented on Jul 28, 2026

    @gopherbot
    Contributor

    Backport issue(s) opened: #80608 (for 1.25), #80609 (for 1.26).

    Remember to create the cherry-pick CL(s) as soon as the patch is submitted to master, according to https://go.dev/wiki/MinorReleases.

  7. added
    FixPendingIssues that have a fix which has not yet been reviewed or submitted.
    on Jul 28, 2026
  8. cherrymui commented on Jul 28, 2026

    @cherrymui
    Member

    Reopen to have it vendored to Go 1.27

  9. modified the milestones: Unreleased, Go1.27 on Jul 28, 2026
  10. mateusz834 commented on Jul 29, 2026

    @mateusz834
    Member

    Reopen to have it vendored to Go 1.27

    I don't think we use this in the main Go repo, not sure if we need to vendor+backport this.

  11. nicholashusin commented on Jul 29, 2026

    @nicholashusin
    Member

    I don't think we use this in the main Go repo, not sure if we need to vendor+backport this.

    Unfortunately, I think the vulnerable symbol is transitively reachable when using the CGO net.Resolver (pure Go resolver doesn't use it though).

  12. mateusz834 commented on Jul 29, 2026

    @mateusz834
    Member

    Ohh, right since LookupCNAME uses p.AllAnswers() (which is bad), so if someone would return a SVCB record with CNAME query it could trigger that.

  13. gopherbot commented on Jul 31, 2026

    @gopherbot
    Contributor

    Change https://go.dev/cl/808620 mentions this issue: [internal-branch.go1.26-vendor] dns/dnsmessage: avoid panic when parsing SVCB record with truncated data

  14. gopherbot commented on Jul 31, 2026

    @gopherbot
    Contributor

    Change https://go.dev/cl/808640 mentions this issue: [internal-branch.go1.25-vendor dns/dnsmessage: avoid panic when parsing SVCB record with truncated data

  15. gopherbot commented on Jul 31, 2026

    @gopherbot
    Contributor

    Change https://go.dev/cl/808621 mentions this issue: [internal-branch.go1.27-vendor] dns/dnsmessage: avoid panic when parsing SVCB record with truncated data

  16. gopherbot commented on Jul 31, 2026

    @gopherbot
    Contributor

    Change https://go.dev/cl/808660 mentions this issue: [release-branch.go1.27] all: update x/net

  17. gopherbot commented on Jul 31, 2026

    @gopherbot
    Contributor

    Change https://go.dev/cl/808680 mentions this issue: [release-branch.go1.26] all: update x/net

  18. gopherbot commented on Jul 31, 2026

    @gopherbot
    Contributor

    Closed by merging CL 808660 (commit c498b9f) to release-branch.go1.27.

  19. changed the title [-]x/net/dns/dnsmessage: panic when parsing invalid SVCB record[/-] [+]net, x/net/dns/dnsmessage: panic when parsing invalid SVCB record[/+] on Aug 13, 2026
  20. kagof commented on Aug 14, 2026

    @kagof

    This doesn't appear to have been backported to the 1.25 release channel.

    The vuln report https://pkg.go.dev/vuln/GO-2026-5942 says it affects version "before go1.26.6", however the backport cherry-pick #80608 was closed because it does not apply to Go 1.25:

    The panic originates from unpackSVCBResource, which was added by CL 710736 on Oct 2025, after Go 1.25 was released. Prior to Go 1.26, SVCB records were not supported, so there's no vulnerability.

    I might not be raising this in the correct place, and apologies if that is the case. But is it possible to update the vulnerability report to reflect that it only affects Go versions (≥1.26.0 and < 1.26.6), and (≥go1.27.0-0 and < go1.27.0-rc3), rather than anything <1.26.6?

    EDIT: I've found the vuln db repo and raised a request to modify the report there golang/vulndb#6226

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    FixPendingIssues that have a fix which has not yet been reviewed or submitted.Securityrelease-blocker

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions