mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-10-15 18:27:12 +00:00
strongswan: patch CVE-2026-78135
Use patch[1] provided by strongSwan[2] Details: https://nvd.nist.gov/vuln/detail/cve-2026-78135 [1]https://download.strongswan.org/security/CVE-2026-78135/strongswan-5.9.7-6.0.7_early_create_child_sa.patch [2]https://www.strongswan.org/blog/2026/09/07/strongswan-vulnerability-(cve-2026-78135).html 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
dd3053a1a3
commit
9b02fe4850
2 files changed
+73
No files matched your search
@@ -0,0 +1,72 @@
|
||||
From 2c3d63bd7a05f88d25354dfe7805a5a6e474a699 Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Brunner <tobias@strongswan.org>
|
||||
Date: Mon, 27 Jul 2026 08:53:50 +0200
|
||||
Subject: [PATCH] ikev2: Properly reject CREATE_CHILD_SA requests on
|
||||
unestablished IKE_SAs
|
||||
|
||||
The previous check was not actually enforced as long as there were still
|
||||
tasks in the passive queue (it was originally added to fix an issue on
|
||||
initiators, so the passive queue was expected to be empty). This allowed
|
||||
an unauthenticated attacker to potentially establish a usable Child SA
|
||||
if certain preconditions were met.
|
||||
|
||||
First, it required that the initiator is authenticated with EAP so the
|
||||
authentication and the creation of the first Child SA is deferred.
|
||||
Second, the responder must either not configure an IP address pool or
|
||||
an explicit remote TS, otherwise, traffic selector negotiation fails.
|
||||
|
||||
Note that the half-open IKE SA and the installed IPsec SA will be removed
|
||||
after the default timeout of 30 seconds.
|
||||
|
||||
Fixes: 8503077175cd ("ikev2: Reject CREATE_CHILD_SA exchange on unestablished IKE_SAs")
|
||||
Fixes: c60c7694d2d8 ("merged tasking branch into trunk")
|
||||
Fixes: CVE-2026-78135
|
||||
|
||||
CVE: CVE-2026-78135
|
||||
Upstream-Status: Backport [https://github.com/strongswan/strongswan/commit/4dcb132266a954202509a3b4b3be99378f3e3b4d]
|
||||
|
||||
Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
|
||||
---
|
||||
src/libcharon/sa/ikev2/task_manager_v2.c | 21 +++++++++++----------
|
||||
1 file changed, 11 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/src/libcharon/sa/ikev2/task_manager_v2.c b/src/libcharon/sa/ikev2/task_manager_v2.c
|
||||
index 5a19ce8..f9e9ab9 100644
|
||||
--- a/src/libcharon/sa/ikev2/task_manager_v2.c
|
||||
+++ b/src/libcharon/sa/ikev2/task_manager_v2.c
|
||||
@@ -1134,9 +1134,18 @@ static status_t process_request(private_task_manager_t *this,
|
||||
delete_payload_t *delete;
|
||||
ike_sa_state_t state;
|
||||
|
||||
+ state = this->ike_sa->get_state(this->ike_sa);
|
||||
+ if (message->get_exchange_type(message) == CREATE_CHILD_SA &&
|
||||
+ (state == IKE_CREATED || state == IKE_CONNECTING))
|
||||
+ {
|
||||
+ DBG1(DBG_IKE, "received CREATE_CHILD_SA request for "
|
||||
+ "unestablished IKE_SA, rejected");
|
||||
+ return FAILED;
|
||||
+ }
|
||||
+
|
||||
+ /* create tasks depending on request type, if not already some queued */
|
||||
if (array_count(this->passive_tasks) == 0)
|
||||
- { /* create tasks depending on request type, if not already some queued */
|
||||
- state = this->ike_sa->get_state(this->ike_sa);
|
||||
+ {
|
||||
switch (message->get_exchange_type(message))
|
||||
{
|
||||
case IKE_SA_INIT:
|
||||
@@ -1177,14 +1186,6 @@ static status_t process_request(private_task_manager_t *this,
|
||||
{ /* FIXME: we should prevent this on mediation connections */
|
||||
bool notify_found = FALSE, ts_found = FALSE;
|
||||
|
||||
- if (state == IKE_CREATED ||
|
||||
- state == IKE_CONNECTING)
|
||||
- {
|
||||
- DBG1(DBG_IKE, "received CREATE_CHILD_SA request for "
|
||||
- "unestablished IKE_SA, rejected");
|
||||
- return FAILED;
|
||||
- }
|
||||
-
|
||||
enumerator = message->create_payload_enumerator(message);
|
||||
while (enumerator->enumerate(enumerator, &payload))
|
||||
{
|
||||
@@ -19,6 +19,7 @@ SRC_URI = "https://download.strongswan.org/strongswan-${PV}.tar.bz2 \
|
||||
file://CVE-2026-78131.patch \
|
||||
file://CVE-2026-78130.patch \
|
||||
file://CVE-2026-78132.patch \
|
||||
file://CVE-2026-78135.patch \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "07df7cedae56a7f3bb07e66d21a1f9f87e961db70e99184e11d3819413e4f87c"
|
||||
|
||||
Reference in new issue
Block a user