diff --git a/meta-oniro-staging/recipes-support/gmp/gmp/CVE-2021-43618.patch b/meta-oniro-staging/recipes-support/gmp/gmp/CVE-2021-43618.patch
new file mode 100644
index 0000000000000000000000000000000000000000..67d61263ef3a44fa961ad56f30dae0e9ea798c88
--- /dev/null
+++ b/meta-oniro-staging/recipes-support/gmp/gmp/CVE-2021-43618.patch
@@ -0,0 +1,27 @@
+# Upstream-status: Submitted/Backport
+# Upstream-URL: https://lists.openembedded.org/g/openembedded-core/message/158561
+
+# HG changeset patch
+# User Marco Bodrato <bodrato@mail.dm.unipi.it>
+# Date 1634836009 -7200
+# Node ID 561a9c25298e17bb01896801ff353546c6923dbd
+# Parent  e1fd9db13b475209a864577237ea4b9105b3e96e
+mpz/inp_raw.c: Avoid bit size overflows
+
+diff -r e1fd9db13b47 -r 561a9c25298e mpz/inp_raw.c
+--- a/mpz/inp_raw.c	Tue Dec 22 23:49:51 2020 +0100
++++ b/mpz/inp_raw.c	Thu Oct 21 19:06:49 2021 +0200
+@@ -88,8 +88,11 @@
+ 
+   abs_csize = ABS (csize);
+ 
++  if (UNLIKELY (abs_csize > ~(mp_bitcnt_t) 0 / 8))
++    return 0; /* Bit size overflows */
++
+   /* round up to a multiple of limbs */
+-  abs_xsize = BITS_TO_LIMBS (abs_csize*8);
++  abs_xsize = BITS_TO_LIMBS ((mp_bitcnt_t) abs_csize * 8);
+ 
+   if (abs_xsize != 0)
+     {
+
diff --git a/meta-oniro-staging/recipes-support/gmp/gmp_6.2%.bbappend b/meta-oniro-staging/recipes-support/gmp/gmp_6.2%.bbappend
new file mode 100644
index 0000000000000000000000000000000000000000..3187185a4c4f50c770a8e87413fdc63506861bf0
--- /dev/null
+++ b/meta-oniro-staging/recipes-support/gmp/gmp_6.2%.bbappend
@@ -0,0 +1,6 @@
+# SPDX-FileCopyrightText: Huawei Inc.
+#
+# SPDX-License-Identifier: Apache-2.0
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+SRC_URI += "file://CVE-2021-43618.patch"