Skip to content

Commit dee8c78

Browse files
tatianabgopherbot
authored andcommitted
data/reports: add GO-2022-0635, review GO-2022-0646
Split GO-2022-0646 into 2 reports. (They are different vulnerabilities which we had previously decided to merge - this is in line with our new goal of closely matching the structure of 3rd party reports). Remove the fixed version which is not correct. The vulnerability is present in all of V1. Add a note so we don't re-introduce the mistake. - data/reports/GO-2022-0635.yaml - data/reports/GO-2022-0646.yaml Fixes #635 Fixes #646 Updates #3285 Change-Id: I6a3c4547015a24489f2d62bb9b8fffebd927cef0 Reviewed-on: https://go-review.googlesource.com/c/vulndb/+/635736 LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Zvonimir Pavlinovic <[email protected]> Auto-Submit: Tatiana Bradley <[email protected]>
1 parent 3186724 commit dee8c78

File tree

4 files changed

+166
-26
lines changed

4 files changed

+166
-26
lines changed

data/osv/GO-2022-0635.json

+80
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
{
2+
"schema_version": "1.3.1",
3+
"id": "GO-2022-0635",
4+
"modified": "0001-01-01T00:00:00Z",
5+
"published": "0001-01-01T00:00:00Z",
6+
"aliases": [
7+
"CVE-2020-8912",
8+
"GHSA-7f33-f4f5-xwgw"
9+
],
10+
"summary": "In-band key negotiation issue in AWS S3 Crypto SDK for golang in github.com/aws/aws-sdk-go",
11+
"details": "A vulnerability in the in-band key negotiation exists in the AWS S3 Crypto SDK for GoLang versions prior to V2. An attacker with write access to the targeted bucket can change the encryption algorithm of an object in the bucket, which can then allow them to change AES-GCM to AES-CTR. Using this in combination with a decryption oracle can reveal the authentication key used by AES-GCM as decrypting the GMAC tag leaves the authentication key recoverable as an algebraic equation. It is recommended to update your SDK to V2 or later, and re-encrypt your files.",
12+
"affected": [
13+
{
14+
"package": {
15+
"name": "github.com/aws/aws-sdk-go",
16+
"ecosystem": "Go"
17+
},
18+
"ranges": [
19+
{
20+
"type": "SEMVER",
21+
"events": [
22+
{
23+
"introduced": "0"
24+
}
25+
]
26+
}
27+
],
28+
"ecosystem_specific": {
29+
"imports": [
30+
{
31+
"path": "github.com/aws/aws-sdk-go/service/s3/s3crypto",
32+
"symbols": [
33+
"NewDecryptionClient",
34+
"NewEncryptionClient"
35+
]
36+
}
37+
]
38+
}
39+
}
40+
],
41+
"references": [
42+
{
43+
"type": "ADVISORY",
44+
"url": "https://github.com/google/security-research/security/advisories/GHSA-7f33-f4f5-xwgw"
45+
},
46+
{
47+
"type": "FIX",
48+
"url": "https://github.com/aws/aws-sdk-go/commit/1e84382fa1c0086362b5a4b68e068d4f8518d40e"
49+
},
50+
{
51+
"type": "FIX",
52+
"url": "https://github.com/aws/aws-sdk-go/commit/ae9b9fd92af132cfd8d879809d8611825ba135f4"
53+
},
54+
{
55+
"type": "FIX",
56+
"url": "https://github.com/aws/aws-sdk-go/pull/3403"
57+
},
58+
{
59+
"type": "WEB",
60+
"url": "https://aws.amazon.com/blogs/developer/updates-to-the-amazon-s3-encryption-client/?s=09"
61+
},
62+
{
63+
"type": "WEB",
64+
"url": "https://bugzilla.redhat.com/show_bug.cgi?id=1869801"
65+
},
66+
{
67+
"type": "WEB",
68+
"url": "https://github.com/sophieschmieg/exploits/tree/master/aws_s3_crypto_poc"
69+
}
70+
],
71+
"credits": [
72+
{
73+
"name": "Sophie Schmieg from the Google ISE team"
74+
}
75+
],
76+
"database_specific": {
77+
"url": "https://pkg.go.dev/vuln/GO-2022-0635",
78+
"review_status": "REVIEWED"
79+
}
80+
}

data/osv/GO-2022-0646.json

+21-10
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,13 @@
22
"schema_version": "1.3.1",
33
"id": "GO-2022-0646",
44
"modified": "0001-01-01T00:00:00Z",
5-
"published": "2022-02-11T23:26:26Z",
5+
"published": "0001-01-01T00:00:00Z",
66
"aliases": [
77
"CVE-2020-8911",
8-
"CVE-2020-8912",
9-
"GHSA-7f33-f4f5-xwgw",
108
"GHSA-f5pg-7wfw-84q9"
119
],
12-
"summary": "Use of risky cryptographic algorithm in github.com/aws/aws-sdk-go",
13-
"details": "The Go AWS S3 Crypto SDK contains vulnerabilities that can permit an attacker with write access to a bucket to decrypt files in that bucket.\n\nFiles encrypted by the V1 EncryptionClient using either the AES-CBC content cipher or the KMS key wrap algorithm are vulnerable. Users should migrate to the V1 EncryptionClientV2 API, which will not create vulnerable files. Old files will remain vulnerable until re-encrypted with the new client.",
10+
"summary": "CBC padding oracle issue in AWS S3 Crypto SDK for golang in github.com/aws/aws-sdk-go",
11+
"details": "A padding oracle vulnerability exists in the AWS S3 Crypto SDK for GoLang versions prior to V2. The SDK allows users to encrypt files with AES-CBC without computing a Message Authentication Code (MAC), which then allows an attacker who has write access to the target's S3 bucket and can observe whether or not an endpoint with access to the key can decrypt a file, they can reconstruct the plaintext with (on average) 128*length (plaintext) queries to the endpoint, by exploiting CBC's ability to manipulate the bytes of the next block and PKCS5 padding errors. It is recommended to update your SDK to V2 or later, and re-encrypt your files.",
1412
"affected": [
1513
{
1614
"package": {
@@ -23,9 +21,6 @@
2321
"events": [
2422
{
2523
"introduced": "0"
26-
},
27-
{
28-
"fixed": "1.34.0"
2924
}
3025
]
3126
}
@@ -46,15 +41,31 @@
4641
"references": [
4742
{
4843
"type": "ADVISORY",
49-
"url": "https://aws.amazon.com/blogs/developer/updates-to-the-amazon-s3-encryption-client/?s=09"
44+
"url": "https://github.com/google/security-research/security/advisories/GHSA-f5pg-7wfw-84q9"
5045
},
5146
{
5247
"type": "FIX",
53-
"url": "https://github.com/aws/aws-sdk-go/pull/3403"
48+
"url": "https://github.com/aws/aws-sdk-go/commit/1e84382fa1c0086362b5a4b68e068d4f8518d40e"
5449
},
5550
{
5651
"type": "FIX",
5752
"url": "https://github.com/aws/aws-sdk-go/commit/ae9b9fd92af132cfd8d879809d8611825ba135f4"
53+
},
54+
{
55+
"type": "FIX",
56+
"url": "https://github.com/aws/aws-sdk-go/pull/3403"
57+
},
58+
{
59+
"type": "WEB",
60+
"url": "https://aws.amazon.com/blogs/developer/updates-to-the-amazon-s3-encryption-client/?s=09"
61+
},
62+
{
63+
"type": "WEB",
64+
"url": "https://bugzilla.redhat.com/show_bug.cgi?id=1869800"
65+
},
66+
{
67+
"type": "WEB",
68+
"url": "https://github.com/sophieschmieg/exploits/tree/master/aws_s3_crypto_poc"
5869
}
5970
],
6071
"credits": [

data/reports/GO-2022-0635.yaml

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
id: GO-2022-0635
2+
modules:
3+
- module: github.com/aws/aws-sdk-go
4+
vulnerable_at: 1.33.21
5+
packages:
6+
- package: github.com/aws/aws-sdk-go/service/s3/s3crypto
7+
symbols:
8+
- NewEncryptionClient
9+
- NewDecryptionClient
10+
summary: |-
11+
In-band key negotiation issue in AWS S3 Crypto SDK for golang in
12+
github.com/aws/aws-sdk-go
13+
description: |-
14+
A vulnerability in the in-band key negotiation exists in the AWS S3 Crypto SDK
15+
for GoLang versions prior to V2. An attacker with write access to the targeted
16+
bucket can change the encryption algorithm of an object in the bucket, which can
17+
then allow them to change AES-GCM to AES-CTR. Using this in combination with a
18+
decryption oracle can reveal the authentication key used by AES-GCM as
19+
decrypting the GMAC tag leaves the authentication key recoverable as an
20+
algebraic equation. It is recommended to update your SDK to V2 or later, and
21+
re-encrypt your files.
22+
cves:
23+
- CVE-2020-8912
24+
ghsas:
25+
- GHSA-7f33-f4f5-xwgw
26+
credits:
27+
- Sophie Schmieg from the Google ISE team
28+
references:
29+
- advisory: https://github.com/google/security-research/security/advisories/GHSA-7f33-f4f5-xwgw
30+
- fix: https://github.com/aws/aws-sdk-go/commit/1e84382fa1c0086362b5a4b68e068d4f8518d40e
31+
- fix: https://github.com/aws/aws-sdk-go/commit/ae9b9fd92af132cfd8d879809d8611825ba135f4
32+
- fix: https://github.com/aws/aws-sdk-go/pull/3403
33+
- web: https://aws.amazon.com/blogs/developer/updates-to-the-amazon-s3-encryption-client/?s=09
34+
- web: https://bugzilla.redhat.com/show_bug.cgi?id=1869801
35+
- web: https://github.com/sophieschmieg/exploits/tree/master/aws_s3_crypto_poc
36+
notes:
37+
- https://github.com/advisories/GHSA-7f33-f4f5-xwgw mistakenly lists this vulnerability as patched in 1.34.0.
38+
source:
39+
id: GHSA-7f33-f4f5-xwgw
40+
created: 2024-12-12T15:16:32.138747-05:00
41+
review_status: REVIEWED

data/reports/GO-2022-0646.yaml

+24-16
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,42 @@
11
id: GO-2022-0646
22
modules:
33
- module: github.com/aws/aws-sdk-go
4-
versions:
5-
- fixed: 1.34.0
64
vulnerable_at: 1.33.21
75
packages:
86
- package: github.com/aws/aws-sdk-go/service/s3/s3crypto
97
symbols:
10-
- NewDecryptionClient
118
- NewEncryptionClient
12-
summary: Use of risky cryptographic algorithm in github.com/aws/aws-sdk-go
9+
- NewDecryptionClient
10+
summary: |-
11+
CBC padding oracle issue in AWS S3 Crypto SDK for golang in
12+
github.com/aws/aws-sdk-go
1313
description: |-
14-
The Go AWS S3 Crypto SDK contains vulnerabilities that can permit an attacker
15-
with write access to a bucket to decrypt files in that bucket.
16-
17-
Files encrypted by the V1 EncryptionClient using either the AES-CBC content
18-
cipher or the KMS key wrap algorithm are vulnerable. Users should migrate to the
19-
V1 EncryptionClientV2 API, which will not create vulnerable files. Old files
20-
will remain vulnerable until re-encrypted with the new client.
21-
published: 2022-02-11T23:26:26Z
14+
A padding oracle vulnerability exists in the AWS S3 Crypto SDK for GoLang
15+
versions prior to V2. The SDK allows users to encrypt files with AES-CBC without
16+
computing a Message Authentication Code (MAC), which then allows an attacker who
17+
has write access to the target's S3 bucket and can observe whether or not an
18+
endpoint with access to the key can decrypt a file, they can reconstruct the
19+
plaintext with (on average) 128*length (plaintext) queries to the endpoint, by
20+
exploiting CBC's ability to manipulate the bytes of the next block and PKCS5
21+
padding errors. It is recommended to update your SDK to V2 or later, and
22+
re-encrypt your files.
2223
cves:
2324
- CVE-2020-8911
24-
- CVE-2020-8912
2525
ghsas:
26-
- GHSA-7f33-f4f5-xwgw
2726
- GHSA-f5pg-7wfw-84q9
2827
credits:
2928
- Sophie Schmieg from the Google ISE team
3029
references:
31-
- advisory: https://aws.amazon.com/blogs/developer/updates-to-the-amazon-s3-encryption-client/?s=09
32-
- fix: https://github.com/aws/aws-sdk-go/pull/3403
30+
- advisory: https://github.com/google/security-research/security/advisories/GHSA-f5pg-7wfw-84q9
31+
- fix: https://github.com/aws/aws-sdk-go/commit/1e84382fa1c0086362b5a4b68e068d4f8518d40e
3332
- fix: https://github.com/aws/aws-sdk-go/commit/ae9b9fd92af132cfd8d879809d8611825ba135f4
33+
- fix: https://github.com/aws/aws-sdk-go/pull/3403
34+
- web: https://aws.amazon.com/blogs/developer/updates-to-the-amazon-s3-encryption-client/?s=09
35+
- web: https://bugzilla.redhat.com/show_bug.cgi?id=1869800
36+
- web: https://github.com/sophieschmieg/exploits/tree/master/aws_s3_crypto_poc
37+
notes:
38+
- https://github.com/advisories/GHSA-f5pg-7wfw-84q9 mistakenly lists this vulnerability as patched in 1.34.0.
39+
source:
40+
id: GHSA-f5pg-7wfw-84q9
41+
created: 2024-12-12T15:34:22.739805-05:00
3442
review_status: REVIEWED

0 commit comments

Comments
 (0)