From b1bf2b10e2da1003bc8349c8df781771c4b4e5e2 Mon Sep 17 00:00:00 2001 From: Sukchan Lee Date: Sat, 18 May 2024 21:12:47 +0900 Subject: [PATCH] [SEC] Fix Assertion ogs_pfcp_f_seid_to_ip (#3207) --- src/sgwu/context.c | 4 ++++ src/upf/context.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/sgwu/context.c b/src/sgwu/context.c index a7bdd56b3..43da6a591 100644 --- a/src/sgwu/context.c +++ b/src/sgwu/context.c @@ -252,6 +252,10 @@ sgwu_sess_t *sgwu_sess_add_by_message(ogs_pfcp_message_t *message) ogs_error("No CP F-SEID"); return NULL; } + if (f_seid->ipv4 == 0 && f_seid->ipv6 == 0) { + ogs_error("No IPv4 or IPv6"); + return NULL; + } f_seid->seid = be64toh(f_seid->seid); sess = sgwu_sess_find_by_sgwc_sxa_f_seid(f_seid); diff --git a/src/upf/context.c b/src/upf/context.c index bd0737c09..6c4690de7 100644 --- a/src/upf/context.c +++ b/src/upf/context.c @@ -365,6 +365,10 @@ upf_sess_t *upf_sess_add_by_message(ogs_pfcp_message_t *message) ogs_error("No CP F-SEID"); return NULL; } + if (f_seid->ipv4 == 0 && f_seid->ipv6 == 0) { + ogs_error("No IPv4 or IPv6"); + return NULL; + } f_seid->seid = be64toh(f_seid->seid); sess = upf_sess_find_by_smf_n4_f_seid(f_seid);