GO-2023-1765

Source
https://pkg.go.dev/vuln/GO-2023-1765
Import Source
https://vuln.go.dev/ID/GO-2023-1765.json
JSON Data
https://api.osv.dev/v1/vulns/GO-2023-1765
Aliases
Published
2023-05-24T15:32:51Z
Modified
2024-05-20T16:03:47Z
Summary
Leaked shared secret and weak blinding in github.com/cloudflare/circl
Details

When sampling randomness for a shared secret, the implementation of Kyber and FrodoKEM, did not check whether crypto/rand.Read() returns an error. In rare deployment cases (error thrown by the Read() function), this could lead to a predictable shared secret.

The tkn20 and blindrsa components did not check whether enough randomness was returned from the user provided randomness source. Typically the user provides crypto/rand.Reader, which in the vast majority of cases will always return the right number random bytes. In the cases where it does not, or the user provides a source that does not, the blinding for blindrsa is weak and integrity of the plaintext is not ensured in tkn20.

Database specific
{
    "review_status": "REVIEWED",
    "url": "https://pkg.go.dev/vuln/GO-2023-1765"
}
References

Affected packages

Go / github.com/cloudflare/circl

Package

Name
github.com/cloudflare/circl
View open source insights on deps.dev
Purl
pkg:golang/github.com/cloudflare/circl

Affected ranges

Type
SEMVER
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
1.3.3

Ecosystem specific

{
    "imports": [
        {
            "path": "github.com/cloudflare/circl/abe/cpabe/tkn20/internal/tkn",
            "symbols": [
                "EncryptCCA"
            ]
        },
        {
            "path": "github.com/cloudflare/circl/blindsign/blindrsa",
            "symbols": [
                "RSAVerifier.Blind"
            ]
        },
        {
            "path": "github.com/cloudflare/circl/kem/frodo/frodo640shake",
            "symbols": [
                "PublicKey.EncapsulateTo",
                "scheme.Encapsulate",
                "scheme.EncapsulateDeterministically"
            ]
        },
        {
            "path": "github.com/cloudflare/circl/kem/kyber/kyber1024",
            "symbols": [
                "PublicKey.EncapsulateTo",
                "scheme.Encapsulate",
                "scheme.EncapsulateDeterministically"
            ]
        },
        {
            "path": "github.com/cloudflare/circl/kem/kyber/kyber512",
            "symbols": [
                "PublicKey.EncapsulateTo",
                "scheme.Encapsulate",
                "scheme.EncapsulateDeterministically"
            ]
        },
        {
            "path": "github.com/cloudflare/circl/kem/kyber/kyber768",
            "symbols": [
                "PublicKey.EncapsulateTo",
                "scheme.Encapsulate",
                "scheme.EncapsulateDeterministically"
            ]
        },
        {
            "path": "github.com/cloudflare/circl/kem/sike/sikep434",
            "symbols": [
                "scheme.Encapsulate"
            ]
        },
        {
            "path": "github.com/cloudflare/circl/kem/sike/sikep503",
            "symbols": [
                "scheme.Encapsulate"
            ]
        },
        {
            "path": "github.com/cloudflare/circl/kem/sike/sikep751",
            "symbols": [
                "scheme.Encapsulate"
            ]
        }
    ]
}