]> Cypherpunks repositories - gostls13.git/commit
[release-branch.go1.12-security] internal/x/crypto/cryptobyte: import security fix...
authorKatie Hockman <katie@golang.org>
Fri, 24 Jan 2020 20:29:12 +0000 (15:29 -0500)
committerKatie Hockman <katiehockman@google.com>
Mon, 27 Jan 2020 20:31:21 +0000 (20:31 +0000)
commit44bb3b4b5341f5bb373acb0b8130795f888c9ace
tree791443aa8c1cf962c1449a72322b812c15acd7b0
parenta8b372fb365f4b69f0b06aa9c3e642e6aa022840
[release-branch.go1.12-security] internal/x/crypto/cryptobyte: import security fix for 32-bit archs

    cryptobyte: fix panic due to malformed ASN.1 inputs on 32-bit archs

    When int is 32 bits wide (on 32-bit architectures like 386 and arm), an
    overflow could occur, causing a panic, due to malformed ASN.1 being
    passed to any of the ASN1 methods of String.

    Tested on linux/386 and darwin/amd64.

    This fixes CVE-2020-7919 and was found thanks to the Project Wycheproof
    test vectors.

    Change-Id: I8c9696a8bfad1b40ec877cd740dba3467d66ab54
    Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/645211
Reviewed-by: Katie Hockman <katiehockman@google.com>
Reviewed-by: Adam Langley <agl@google.com>
x/crypto/cryptobyte is used in crypto/x509 for parsing certificates.
Malformed certificates might cause a panic during parsing on 32-bit
architectures (like arm and 386).

Change-Id: I3c619af508bacff84023be4d5a7c4992c2f20a56
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/647483
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
src/internal/x/crypto/cryptobyte/asn1.go
src/internal/x/crypto/cryptobyte/asn1_test.go
src/internal/x/crypto/cryptobyte/string.go