mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-10-22 20:38:28 +00:00
wolfssl: patch CVE-2026-6094
Details https://nvd.nist.gov/vuln/detail/cve-2026-6094 Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com> Signed-off-by: Anuj Mittal <anuj.mittal@oss.qualcomm.com>
This commit is contained in:
1 parent
4b124297a2
commit
140b51ee66
6 files changed
+220
No files matched your search
@@ -0,0 +1,32 @@
|
|||||||
|
From f162b7679bafacd5b9866d72400b1115f8fbc7b7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Kareem <kareem@wolfssl.com>
|
||||||
|
Date: Fri, 3 Apr 2026 16:05:44 -0700
|
||||||
|
Subject: [PATCH] Ensure esd->signedAttribsCount contains the correct count in
|
||||||
|
case some are skipped by using the current idx rather than the total array
|
||||||
|
size.
|
||||||
|
|
||||||
|
Thanks to Zou Dikai for the report.
|
||||||
|
|
||||||
|
(cherry picked from commit 7f218574c4d30a8aa8c520c7023c3d017fc13b86)
|
||||||
|
|
||||||
|
CVE: CVE-2026-6094
|
||||||
|
Upstream-Status: Backport [https://github.com/wolfSSL/wolfssl/commit/7f218574c4d30a8aa8c520c7023c3d017fc13b86]
|
||||||
|
|
||||||
|
Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
|
||||||
|
---
|
||||||
|
wolfcrypt/src/pkcs7.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/wolfcrypt/src/pkcs7.c b/wolfcrypt/src/pkcs7.c
|
||||||
|
index 3f6649d0a..67803f84d 100644
|
||||||
|
--- a/wolfcrypt/src/pkcs7.c
|
||||||
|
+++ b/wolfcrypt/src/pkcs7.c
|
||||||
|
@@ -2253,7 +2253,7 @@ static int wc_PKCS7_BuildSignedAttributes(wc_PKCS7* pkcs7, ESD* esd,
|
||||||
|
idx++;
|
||||||
|
}
|
||||||
|
|
||||||
|
- esd->signedAttribsCount += cannedAttribsCount;
|
||||||
|
+ esd->signedAttribsCount += idx;
|
||||||
|
esd->signedAttribsSz += (word32)EncodeAttributes(
|
||||||
|
&esd->signedAttribs[atrIdx], (int)idx, cannedAttribs,
|
||||||
|
(int)cannedAttribsCount);
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
From 6d7fe2926a18982278c53b4ec413fe7b2349a019 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Kareem <kareem@wolfssl.com>
|
||||||
|
Date: Fri, 3 Apr 2026 16:06:35 -0700
|
||||||
|
Subject: [PATCH] In wc_PKCS7_DecodeEnvelopedData, confirm
|
||||||
|
encryptedContentTotalSz does not exceed the total message size before using
|
||||||
|
it in the non-streaming case.
|
||||||
|
|
||||||
|
Thanks to Zou Dikai for the report.
|
||||||
|
|
||||||
|
(cherry picked from commit 1397268aa12e2cf3f80c3acfa9b6036b809c08ef)
|
||||||
|
|
||||||
|
CVE: CVE-2026-6094
|
||||||
|
Upstream-Status: Backport [https://github.com/wolfSSL/wolfssl/commit/1397268aa12e2cf3f80c3acfa9b6036b809c08ef]
|
||||||
|
|
||||||
|
Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
|
||||||
|
---
|
||||||
|
wolfcrypt/src/pkcs7.c | 5 +++++
|
||||||
|
1 file changed, 5 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/wolfcrypt/src/pkcs7.c b/wolfcrypt/src/pkcs7.c
|
||||||
|
index 67803f84d..43bcf3ee4 100644
|
||||||
|
--- a/wolfcrypt/src/pkcs7.c
|
||||||
|
+++ b/wolfcrypt/src/pkcs7.c
|
||||||
|
@@ -13231,6 +13231,11 @@ int wc_PKCS7_DecodeEnvelopedData(wc_PKCS7* pkcs7, byte* in,
|
||||||
|
}
|
||||||
|
wc_PKCS7_DecryptContentFree(pkcs7, encOID, pkcs7->heap);
|
||||||
|
} else {
|
||||||
|
+ if ((idx + (word32)encryptedContentTotalSz) > pkiMsgSz) {
|
||||||
|
+ ret = BUFFER_E;
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
pkcs7->cachedEncryptedContentSz =
|
||||||
|
(word32)encryptedContentTotalSz;
|
||||||
|
pkcs7->totalEncryptedContentSz =
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
From c7f7a8ef00e6a7a33a623543507f8fa089f6037b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Kareem <kareem@wolfssl.com>
|
||||||
|
Date: Fri, 3 Apr 2026 16:56:04 -0700
|
||||||
|
Subject: [PATCH] Code review feedback
|
||||||
|
|
||||||
|
(cherry picked from commit ebdcc03b718cd7175355097b1a3831a0eb4875b2)
|
||||||
|
|
||||||
|
CVE: CVE-2026-6094
|
||||||
|
Upstream-Status: Backport [https://github.com/wolfSSL/wolfssl/commit/ebdcc03b718cd7175355097b1a3831a0eb4875b2]
|
||||||
|
|
||||||
|
Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
|
||||||
|
---
|
||||||
|
wolfcrypt/src/pkcs7.c | 6 ++++--
|
||||||
|
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/wolfcrypt/src/pkcs7.c b/wolfcrypt/src/pkcs7.c
|
||||||
|
index 43bcf3ee4..50d33bdb8 100644
|
||||||
|
--- a/wolfcrypt/src/pkcs7.c
|
||||||
|
+++ b/wolfcrypt/src/pkcs7.c
|
||||||
|
@@ -2256,7 +2256,7 @@ static int wc_PKCS7_BuildSignedAttributes(wc_PKCS7* pkcs7, ESD* esd,
|
||||||
|
esd->signedAttribsCount += idx;
|
||||||
|
esd->signedAttribsSz += (word32)EncodeAttributes(
|
||||||
|
&esd->signedAttribs[atrIdx], (int)idx, cannedAttribs,
|
||||||
|
- (int)cannedAttribsCount);
|
||||||
|
+ (int)idx);
|
||||||
|
atrIdx += idx;
|
||||||
|
} else {
|
||||||
|
esd->signedAttribsCount = 0;
|
||||||
|
@@ -13231,7 +13231,9 @@ int wc_PKCS7_DecodeEnvelopedData(wc_PKCS7* pkcs7, byte* in,
|
||||||
|
}
|
||||||
|
wc_PKCS7_DecryptContentFree(pkcs7, encOID, pkcs7->heap);
|
||||||
|
} else {
|
||||||
|
- if ((idx + (word32)encryptedContentTotalSz) > pkiMsgSz) {
|
||||||
|
+ word32 tmpSum;
|
||||||
|
+ if (!WC_SAFE_SUM_WORD32(idx, (word32)encryptedContentTotalSz, tmpSum) ||
|
||||||
|
+ tmpSum > pkiMsgSz) {
|
||||||
|
ret = BUFFER_E;
|
||||||
|
break;
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
From a9015491db03d415f766f47c139841249adce843 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Kareem <kareem@wolfssl.com>
|
||||||
|
Date: Mon, 6 Apr 2026 11:58:12 -0700
|
||||||
|
Subject: [PATCH] Fix unused variable error
|
||||||
|
|
||||||
|
(cherry picked from commit 3e04475875a4942652fdf6794a01fdfd65801fdc)
|
||||||
|
|
||||||
|
CVE: CVE-2026-6094
|
||||||
|
Upstream-Status: Backport [https://github.com/wolfSSL/wolfssl/commit/3e04475875a4942652fdf6794a01fdfd65801fdc]
|
||||||
|
|
||||||
|
Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
|
||||||
|
---
|
||||||
|
wolfcrypt/src/pkcs7.c | 3 ---
|
||||||
|
1 file changed, 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/wolfcrypt/src/pkcs7.c b/wolfcrypt/src/pkcs7.c
|
||||||
|
index 50d33bdb8..2cde73846 100644
|
||||||
|
--- a/wolfcrypt/src/pkcs7.c
|
||||||
|
+++ b/wolfcrypt/src/pkcs7.c
|
||||||
|
@@ -2197,7 +2197,6 @@ static int wc_PKCS7_BuildSignedAttributes(wc_PKCS7* pkcs7, ESD* esd,
|
||||||
|
#endif
|
||||||
|
word32 idx = 0;
|
||||||
|
word32 atrIdx = 0;
|
||||||
|
- word32 cannedAttribsCount;
|
||||||
|
|
||||||
|
if (pkcs7 == NULL || esd == NULL || contentType == NULL ||
|
||||||
|
contentTypeOid == NULL || messageDigestOid == NULL ||
|
||||||
|
@@ -2220,8 +2219,6 @@ static int wc_PKCS7_BuildSignedAttributes(wc_PKCS7* pkcs7, ESD* esd,
|
||||||
|
return timeSz;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
- cannedAttribsCount = sizeof(cannedAttribs)/sizeof(PKCS7Attrib);
|
||||||
|
-
|
||||||
|
XMEMSET(&cannedAttribs[idx], 0, sizeof(cannedAttribs[idx]));
|
||||||
|
|
||||||
|
if ((pkcs7->defaultSignedAttribs & WOLFSSL_CONTENT_TYPE_ATTRIBUTE) ||
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
From c27fbdecfd2f4a31acdc73229a5bc631184265f1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Kareem <kareem@wolfssl.com>
|
||||||
|
Date: Mon, 6 Apr 2026 16:41:32 -0700
|
||||||
|
Subject: [PATCH] Add additional checks for encryptedContentSz exceeding
|
||||||
|
pkiMsgSz.
|
||||||
|
|
||||||
|
(cherry picked from commit b3c2877a146e0c75715368ca5dfe2387bfc2cadf)
|
||||||
|
|
||||||
|
CVE: CVE-2026-6094
|
||||||
|
Upstream-Status: Backport [https://github.com/wolfSSL/wolfssl/commit/b3c2877a146e0c75715368ca5dfe2387bfc2cadf]
|
||||||
|
|
||||||
|
Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
|
||||||
|
---
|
||||||
|
wolfcrypt/src/pkcs7.c | 38 ++++++++++++++++++++++++++------------
|
||||||
|
1 file changed, 26 insertions(+), 12 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/wolfcrypt/src/pkcs7.c b/wolfcrypt/src/pkcs7.c
|
||||||
|
index 2cde73846..8df3a2430 100644
|
||||||
|
--- a/wolfcrypt/src/pkcs7.c
|
||||||
|
+++ b/wolfcrypt/src/pkcs7.c
|
||||||
|
@@ -14380,9 +14380,17 @@ int wc_PKCS7_DecodeAuthEnvelopedData(wc_PKCS7* pkcs7, byte* in,
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ret == 0) {
|
||||||
|
- XMEMCPY(encryptedContent, &pkiMsg[idx],
|
||||||
|
+ word32 tmpSum;
|
||||||
|
+ if (!WC_SAFE_SUM_WORD32(idx, (word32)encryptedContentSz,
|
||||||
|
+ tmpSum) ||
|
||||||
|
+ tmpSum > pkiMsgSz) {
|
||||||
|
+ ret = BUFFER_E;
|
||||||
|
+ break;
|
||||||
|
+ } else {
|
||||||
|
+ XMEMCPY(encryptedContent, &pkiMsg[idx],
|
||||||
|
(word32)encryptedContentSz);
|
||||||
|
- idx += (word32)encryptedContentSz;
|
||||||
|
+ idx += (word32)encryptedContentSz;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
#ifndef NO_PKCS7_STREAM
|
||||||
|
pkcs7->stream->bufferPt = encryptedContent;
|
||||||
|
@@ -15316,16 +15324,22 @@ int wc_PKCS7_DecodeEncryptedData(wc_PKCS7* pkcs7, byte* in, word32 inSz,
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ret == 0) {
|
||||||
|
- XMEMCPY(encryptedContent, &pkiMsg[idx],
|
||||||
|
- (unsigned int)encryptedContentSz);
|
||||||
|
- idx += (word32)encryptedContentSz;
|
||||||
|
-
|
||||||
|
- /* decrypt encryptedContent */
|
||||||
|
- ret = wc_PKCS7_DecryptContent(pkcs7, encOID,
|
||||||
|
- pkcs7->encryptionKey, pkcs7->encryptionKeySz,
|
||||||
|
- tmpIv, expBlockSz, NULL, 0, NULL, 0,
|
||||||
|
- encryptedContent, encryptedContentSz,
|
||||||
|
- encryptedContent, pkcs7->devId, pkcs7->heap);
|
||||||
|
+ word32 tmpSum;
|
||||||
|
+ if (!WC_SAFE_SUM_WORD32(idx, (word32)encryptedContentSz, tmpSum) ||
|
||||||
|
+ tmpSum > pkiMsgSz) {
|
||||||
|
+ ret = BUFFER_E;
|
||||||
|
+ } else {
|
||||||
|
+ XMEMCPY(encryptedContent, &pkiMsg[idx],
|
||||||
|
+ (unsigned int)encryptedContentSz);
|
||||||
|
+ idx += (word32)encryptedContentSz;
|
||||||
|
+
|
||||||
|
+ /* decrypt encryptedContent */
|
||||||
|
+ ret = wc_PKCS7_DecryptContent(pkcs7, encOID,
|
||||||
|
+ pkcs7->encryptionKey, pkcs7->encryptionKeySz,
|
||||||
|
+ tmpIv, expBlockSz, NULL, 0, NULL, 0,
|
||||||
|
+ encryptedContent, encryptedContentSz,
|
||||||
|
+ encryptedContent, pkcs7->devId, pkcs7->heap);
|
||||||
|
+ }
|
||||||
|
if (ret != 0) {
|
||||||
|
XFREE(encryptedContent, pkcs7->heap, DYNAMIC_TYPE_PKCS7);
|
||||||
|
}
|
||||||
@@ -23,6 +23,11 @@ SRC_URI = " \
|
|||||||
file://CVE-2026-6091-2.patch \
|
file://CVE-2026-6091-2.patch \
|
||||||
file://CVE-2026-6091-3.patch \
|
file://CVE-2026-6091-3.patch \
|
||||||
file://CVE-2026-6092.patch \
|
file://CVE-2026-6092.patch \
|
||||||
|
file://CVE-2026-6094-1.patch \
|
||||||
|
file://CVE-2026-6094-2.patch \
|
||||||
|
file://CVE-2026-6094-3.patch \
|
||||||
|
file://CVE-2026-6094-4.patch \
|
||||||
|
file://CVE-2026-6094-5.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
SRCREV = "1d363f3adceba9d1478230ede476a37b0dcdef24"
|
SRCREV = "1d363f3adceba9d1478230ede476a37b0dcdef24"
|
||||||
|
|||||||
Reference in new issue
Block a user