Hello gophers,

We have just released Go versions 1.26.1 and 1.25.8, minor point releases.

These releases include 5 security fixes following the security policy 
<https://go.dev/doc/security/policy>:

-       crypto/x509: incorrect enforcement of email constraints

        When verifying a certificate chain which contains a certificate 
containing
        multiple email address constraints (composed of the full email address) 
which
        share common local portions (the portion of the address before the '@'
        character) but different domain portions (the portion of the address 
after the
        '@' character), these constraints will not be properly applied, and 
only the
        last constraint will be considered.

        This can allow certificates in the chain containing email addresses 
which are
        either not permitted or excluded by the relevant constraints to be 
returned by
        calls to Certificate.Verify. Since the name constraint checks happen 
after chain
        building is complete, this only applies to certificate chains which 
chain to
        trusted roots (root certificates either in VerifyOptions.Roots or in 
the system
        root certificate pool), requiring a trusted CA to issue certificates 
containing
        either not permitted or excluded email addresses.

        This issue only affects Go 1.26.

        Thanks to Jakub Ciolek for reporting this issue.

        This is CVE-2026-27137 and Go issue https://go.dev/issue/77952.

-       crypto/x509: panic in name constraint checking for malformed 
certificates

        Certificate verification can panic when a certificate in the chain has 
an empty
        DNS name and another certificate in the chain has excluded name 
constraints.
        This can crash programs that are either directly verifying X.509 
certificate
        chains, or those that use TLS.

        Since the name constraint checks happen after chain building is 
complete, this
        only applies to certificate chains which chain to trusted roots (root
        certificates either in VerifyOptions.Roots or in the system root 
certificate
        pool), requiring a trusted CA to issue certificates containing 
malformed DNS
        names.

        This issue only affects Go 1.26.

        Thanks to Jakub Ciolek for reporting this issue.

        This is CVE-2026-27138 and Go issue https://go.dev/issue/77953.

-       html/template: URLs in meta content attribute actions are not escaped

        Actions which insert URLs into the content attribute of HTML meta tags 
are not
        escaped. This can allow XSS if the meta tag also has an http-equiv 
attribute
        with the value "refresh".

        A new GODEBUG setting has been added, htmlmetacontenturlescape, which 
can be
        used to disable escaping URLs in actions in the meta content attribute 
which
        follow "url=" by setting htmlmetacontenturlescape=0.

        This is CVE-2026-27142 and Go issue https://go.dev/issue/77954.

-       net/url: reject IPv6 literal not at start of host

        The Go standard library function net/url.Parse insufficiently
        validated the host/authority component and accepted some invalid URLs
        by effectively treating garbage before an IP-literal as ignorable.
        The function should have rejected this as invalid.

        To prevent this behavior, net/url.Parse now rejects IPv6 literals
        that do not appear at the start of the host subcomponent of a URL.

        Thanks to Masaki Hara (https://github.com/qnighy) of Wantedly.

        This is CVE-2026-25679 and Go issue https://go.dev/issue/77578.

-       os: FileInfo can escape from a Root

        On Unix platforms, when listing the contents of a directory using
        File.ReadDir or File.Readdir the returned FileInfo could reference
        a file outside of the Root in which the File was opened.

        The contents of the FileInfo were populated using the lstat system
        call, which takes the path to the file as a parameter. If a component
        of the full path of the file described by the FileInfo is replaced with
        a symbolic link, the target of the lstat can be directed to another
        location on the filesystem.

        The impact of this escape is limited to reading metadata provided by
        lstat from arbitrary locations on the filesystem. This could be used
        to probe for the presence or absence of files as well as gleaning
        metadata like file sizes, but does not permit reading or writing files
        outside the root.

        The FileInfo is now populated using fstatat.

        Thank you to Miloslav Trmač of Red Hat for reporting this issue.

        This is CVE-2026-27139 and Go issue https://go.dev/issue/77827.

View the release notes for more information:
https://go.dev/doc/devel/release#go1.26.1

You can download binary and source distributions from the Go website:
https://go.dev/dl/

To compile from source using a Git clone, update to the release with
git checkout go1.26.1 and build as usual.

Thanks to everyone who contributed to the releases.

Cheers,
Cherry and David for the Go team

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/golang-nuts/ec5ba001.CAAACFD_BO8AAAAAAAAAA-p9MGIAAYKKSQYAAAAAADE8OwBpqiRf%40mailjet.com.

Reply via email to