diff --git a/main/yajl/APKBUILD b/main/yajl/APKBUILD
index 18d80d3dc7702b96b4814dfc9b49f076133d2bce..6a5ff613403e8519ffa3034fdb35b297354ad72f 100644
--- a/main/yajl/APKBUILD
+++ b/main/yajl/APKBUILD
@@ -1,14 +1,20 @@
 # Maintainer: Natanael Copa <ncopa@alpinelinux.org>
 pkgname=yajl
 pkgver=2.1.0
-pkgrel=8
+pkgrel=9
 pkgdesc="Yet Another JSON Library (YAJL)"
 url="https://lloyd.github.io/yajl/"
 arch="all"
 license="MIT"
 makedepends="cmake samurai"
 subpackages="$pkgname-static $pkgname-dev $pkgname-tools"
-source="$pkgname-$pkgver-2.tar.gz::https://github.com/lloyd/yajl/archive/refs/tags/$pkgver.tar.gz"
+source="$pkgname-$pkgver-2.tar.gz::https://github.com/lloyd/yajl/archive/refs/tags/$pkgver.tar.gz
+	CVE-2023-33460.patch
+	"
+
+# secfixes:
+#   2.1.0-r9:
+#     - CVE-2023-33460
 
 build() {
 	cmake -B build -G Ninja \
@@ -39,4 +45,5 @@ tools() {
 
 sha512sums="
 9e786d080803df80ec03a9c2f447501e6e8e433a6baf636824bc1d50ecf4f5f80d7dfb1d47958aeb0a30fe459bd0ef033d41bc6a79e1dc6e6b5eade930b19b02  yajl-2.1.0-2.tar.gz
+3dcd1e162073bb926a620f5ac74e5fccd605fcd114f79df175fc24de19d3c03b854dc576977c259183181966551c94f99ac925bc43a7526e366bd765d64ceadf  CVE-2023-33460.patch
 "
diff --git a/main/yajl/CVE-2023-33460.patch b/main/yajl/CVE-2023-33460.patch
new file mode 100644
index 0000000000000000000000000000000000000000..01a974bf6d4a99b9497cdeb2d3f48106b76b19c8
--- /dev/null
+++ b/main/yajl/CVE-2023-33460.patch
@@ -0,0 +1,57 @@
+From 23a122eddaa28165a6c219000adcc31ff9a8a698 Mon Sep 17 00:00:00 2001
+From: "zhang.jiujiu" <282627424@qq.com>
+Date: Tue, 7 Dec 2021 22:37:02 +0800
+Subject: [PATCH] fix memory leaks
+
+---
+ src/yajl_tree.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/yajl_tree.c b/src/yajl_tree.c
+index b9e66043..0e7bde98 100644
+--- a/src/yajl_tree.c
++++ b/src/yajl_tree.c
+@@ -456,6 +456,9 @@ yajl_val yajl_tree_parse (const char *input,
+              yajl_tree_free(v);
+         }
+         yajl_free (handle);
++	//If the requested memory is not released in time, it will cause memory leakage
++	if(ctx.root)
++	     yajl_tree_free(ctx.root);
+         return NULL;
+     }
+ 
+From 3d65cb0c6db4d433e5e42ee7d91d8a04e21337cf Mon Sep 17 00:00:00 2001
+From: wujing <wujing50@huawei.com>
+Date: Thu, 14 Feb 2019 03:12:30 +0800
+Subject: [PATCH] yajl: fix memory leak problem
+
+reason: fix memory leak problem
+---
+ src/yajl_tree.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/src/yajl_tree.c b/src/yajl_tree.c
+index 3d357a32..4b3cf2b1 100644
+--- a/src/yajl_tree.c
++++ b/src/yajl_tree.c
+@@ -143,7 +143,7 @@ static yajl_val context_pop(context_t *ctx)
+     ctx->stack = stack->next;
+ 
+     v = stack->value;
+-
++    free (stack->key);
+     free (stack);
+ 
+     return (v);
+@@ -444,6 +444,10 @@ yajl_val yajl_tree_parse (const char *input,
+              snprintf(error_buffer, error_buffer_size, "%s", internal_err_str);
+              YA_FREE(&(handle->alloc), internal_err_str);
+         }
++        while(ctx.stack != NULL) {
++             yajl_val v = context_pop(&ctx);
++             yajl_tree_free(v);
++        }
+         yajl_free (handle);
+         return NULL;
+     }