diff --git a/Manifests/Manifest_LAOS-14.1.xml b/Manifests/Manifest_LAOS-14.1.xml
index b6f3df97..af96d5e3 100644
--- a/Manifests/Manifest_LAOS-14.1.xml
+++ b/Manifests/Manifest_LAOS-14.1.xml
@@ -74,6 +74,8 @@
+
+
diff --git a/Manifests/Manifest_LAOS-15.1.xml b/Manifests/Manifest_LAOS-15.1.xml
index 673e785e..fddfcaf4 100644
--- a/Manifests/Manifest_LAOS-15.1.xml
+++ b/Manifests/Manifest_LAOS-15.1.xml
@@ -74,6 +74,8 @@
+
+
diff --git a/Manifests/Manifest_LAOS-16.0.xml b/Manifests/Manifest_LAOS-16.0.xml
index 151d61f9..60c4256a 100644
--- a/Manifests/Manifest_LAOS-16.0.xml
+++ b/Manifests/Manifest_LAOS-16.0.xml
@@ -72,6 +72,8 @@
+
+
diff --git a/Manifests/Manifest_LAOS-17.1.xml b/Manifests/Manifest_LAOS-17.1.xml
index 4ae6c090..c0ad1a51 100644
--- a/Manifests/Manifest_LAOS-17.1.xml
+++ b/Manifests/Manifest_LAOS-17.1.xml
@@ -65,6 +65,10 @@
+
+
+
+
diff --git a/Patches/LineageOS-18.1/android_external_webp/CVE-2023-4863.patch b/Patches/Common/android_external_webp/CVE-2023-4863.patch
similarity index 100%
rename from Patches/LineageOS-18.1/android_external_webp/CVE-2023-4863.patch
rename to Patches/Common/android_external_webp/CVE-2023-4863.patch
diff --git a/Patches/LineageOS-14.1/android_external_webp/0001-makefile.patch b/Patches/LineageOS-14.1/android_external_webp/0001-makefile.patch
new file mode 100644
index 00000000..b990ff3d
--- /dev/null
+++ b/Patches/LineageOS-14.1/android_external_webp/0001-makefile.patch
@@ -0,0 +1,197 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Vasyl Gello
+Date: Tue, 19 Sep 2023 10:36:06 +0000
+Subject: [PATCH] Bring back Android.mk
+
+Change-Id: I158057f8215a32005390272d14d3f04db0c26ac8
+Signed-off-by: Vasyl Gello
+---
+ Android.mk | 1 +
+ src/Android.mk | 170 +++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 171 insertions(+)
+ create mode 100644 Android.mk
+ create mode 100644 src/Android.mk
+
+diff --git a/Android.mk b/Android.mk
+new file mode 100644
+index 0000000..5053e7d
+--- /dev/null
++++ b/Android.mk
+@@ -0,0 +1 @@
++include $(call all-subdir-makefiles)
+diff --git a/src/Android.mk b/src/Android.mk
+new file mode 100644
+index 0000000..4997695
+--- /dev/null
++++ b/src/Android.mk
+@@ -0,0 +1,170 @@
++# Copyright 2010 The Android Open Source Project
++#
++# Licensed under the Apache License, Version 2.0 (the "License");
++# you may not use this file except in compliance with the License.
++# You may obtain a copy of the License at
++#
++# http://www.apache.org/licenses/LICENSE-2.0
++#
++# Unless required by applicable law or agreed to in writing, software
++# distributed under the License is distributed on an "AS IS" BASIS,
++# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++# See the License for the specific language governing permissions and
++# limitations under the License.
++
++LOCAL_PATH:= $(call my-dir)
++
++###############################################
++include $(CLEAR_VARS)
++LOCAL_SRC_FILES := \
++ dsp/cost.c \
++ dsp/cost_mips32.c \
++ dsp/cost_mips_dsp_r2.c \
++ dsp/cost_neon.c \
++ dsp/cost_sse2.c \
++ dsp/cpu.c \
++ dsp/enc.c \
++ dsp/enc_mips32.c \
++ dsp/enc_mips_dsp_r2.c \
++ dsp/enc_msa.c \
++ dsp/enc_neon.c \
++ dsp/enc_sse2.c \
++ dsp/enc_sse41.c \
++ dsp/lossless_enc.c \
++ dsp/lossless_enc_mips32.c \
++ dsp/lossless_enc_mips_dsp_r2.c \
++ dsp/lossless_enc_msa.c \
++ dsp/lossless_enc_neon.c \
++ dsp/lossless_enc_sse2.c \
++ dsp/lossless_enc_sse41.c \
++ dsp/ssim.c \
++ dsp/ssim_sse2.c \
++ enc/alpha_enc.c \
++ enc/analysis_enc.c \
++ enc/backward_references_cost_enc.c \
++ enc/backward_references_enc.c \
++ enc/config_enc.c \
++ enc/cost_enc.c \
++ enc/filter_enc.c \
++ enc/frame_enc.c \
++ enc/histogram_enc.c \
++ enc/iterator_enc.c \
++ enc/near_lossless_enc.c \
++ enc/picture_csp_enc.c \
++ enc/picture_enc.c \
++ enc/picture_psnr_enc.c \
++ enc/picture_rescale_enc.c \
++ enc/picture_tools_enc.c \
++ enc/predictor_enc.c \
++ enc/quant_enc.c \
++ enc/syntax_enc.c \
++ enc/token_enc.c \
++ enc/tree_enc.c \
++ enc/vp8l_enc.c \
++ enc/webp_enc.c \
++ mux/anim_encode.c \
++ mux/muxedit.c \
++ mux/muxinternal.c \
++ mux/muxread.c \
++ utils/bit_writer_utils.c \
++ utils/filters_utils.c \
++ utils/huffman_encode_utils.c \
++ utils/quant_levels_utils.c
++
++LOCAL_ARM_MODE := arm
++LOCAL_CFLAGS := -O2 -DANDROID -DWEBP_SWAP_16BIT_CSP -DWEBP_USE_THREAD
++
++LOCAL_C_INCLUDES += \
++ $(LOCAL_PATH)/enc \
++ $(LOCAL_PATH)/../ \
++ $(LOCAL_PATH)/../include
++
++LOCAL_MODULE := libwebp-encode
++
++LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
++
++include $(BUILD_STATIC_LIBRARY)
++
++###############################################
++
++include $(CLEAR_VARS)
++LOCAL_SRC_FILES := \
++ dec/alpha_dec.c \
++ dec/buffer_dec.c \
++ dec/frame_dec.c \
++ dec/idec_dec.c \
++ dec/io_dec.c \
++ dec/quant_dec.c \
++ dec/tree_dec.c \
++ dec/vp8_dec.c \
++ dec/vp8l_dec.c \
++ dec/webp_dec.c \
++ demux/anim_decode.c \
++ demux/demux.c \
++ dsp/alpha_processing.c \
++ dsp/alpha_processing_mips_dsp_r2.c \
++ dsp/alpha_processing_neon.c \
++ dsp/alpha_processing_sse2.c \
++ dsp/alpha_processing_sse41.c \
++ dsp/cpu.c \
++ dsp/dec.c \
++ dsp/dec_clip_tables.c \
++ dsp/dec_mips32.c \
++ dsp/dec_mips_dsp_r2.c \
++ dsp/dec_msa.c \
++ dsp/dec_neon.c \
++ dsp/dec_sse2.c \
++ dsp/dec_sse41.c \
++ dsp/filters.c \
++ dsp/filters_mips_dsp_r2.c \
++ dsp/filters_msa.c \
++ dsp/filters_neon.c \
++ dsp/filters_sse2.c \
++ dsp/lossless.c \
++ dsp/lossless_mips_dsp_r2.c \
++ dsp/lossless_msa.c \
++ dsp/lossless_neon.c \
++ dsp/lossless_sse2.c \
++ dsp/rescaler.c \
++ dsp/rescaler_mips32.c \
++ dsp/rescaler_mips_dsp_r2.c \
++ dsp/rescaler_msa.c \
++ dsp/rescaler_neon.c \
++ dsp/rescaler_sse2.c \
++ dsp/upsampling.c \
++ dsp/upsampling_mips_dsp_r2.c \
++ dsp/upsampling_msa.c \
++ dsp/upsampling_neon.c \
++ dsp/upsampling_sse2.c \
++ dsp/upsampling_sse41.c \
++ dsp/yuv.c \
++ dsp/yuv_mips32.c \
++ dsp/yuv_mips_dsp_r2.c \
++ dsp/yuv_neon.c \
++ dsp/yuv_sse2.c \
++ dsp/yuv_sse41.c \
++ utils/bit_reader_utils.c \
++ utils/color_cache_utils.c \
++ utils/filters_utils.c \
++ utils/huffman_utils.c \
++ utils/quant_levels_dec_utils.c \
++ utils/random_utils.c \
++ utils/rescaler_utils.c \
++ utils/thread_utils.c \
++ utils/utils.c
++
++LOCAL_ARM_MODE := arm
++LOCAL_CFLAGS := -O2 -DANDROID -DWEBP_SWAP_16BIT_CSP -DWEBP_USE_THREAD
++
++LOCAL_C_INCLUDES += \
++ $(LOCAL_PATH)/dec \
++ $(LOCAL_PATH)/../ \
++ $(LOCAL_PATH)/../include
++
++LOCAL_SDK_VERSION := 9
++
++LOCAL_MODULE := libwebp-decode
++
++LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
++
++include $(BUILD_STATIC_LIBRARY)
diff --git a/Scripts/LineageOS-14.1/Patch.sh b/Scripts/LineageOS-14.1/Patch.sh
index dbbae1e6..a627d58c 100644
--- a/Scripts/LineageOS-14.1/Patch.sh
+++ b/Scripts/LineageOS-14.1/Patch.sh
@@ -147,6 +147,11 @@ if enterAndClear "external/tremolo"; then
applyPatch "$DOS_PATCHES/android_external_tremolo/319986.patch"; #n-asb-2021-12 handle cases where order isn't a multiple of dimension
fi;
+if enterAndClear "external/webp"; then
+applyPatch "$DOS_PATCHES_COMMON/android_external_webp/CVE-2023-4863.patch"; #Fix OOB write in BuildHuffmanTable.
+applyPatch "$DOS_PATCHES/android_external_webp/0001-makefile.patch"; #Add Android.mk for legacy builds (syphyr)
+fi;
+
if enterAndClear "external/zlib"; then
applyPatch "$DOS_PATCHES/android_external_zlib/351107.patch"; #n-asb-2023-03 Fix a bug when getting a gzip header extra field with inflate().
fi;
diff --git a/Scripts/LineageOS-15.1/Patch.sh b/Scripts/LineageOS-15.1/Patch.sh
index af62374f..088d773c 100644
--- a/Scripts/LineageOS-15.1/Patch.sh
+++ b/Scripts/LineageOS-15.1/Patch.sh
@@ -131,6 +131,11 @@ if enterAndClear "external/svox"; then
git revert --no-edit 1419d63b4889a26d22443fd8df1f9073bf229d3d; #Add back Makefiles
fi;
+if enterAndClear "external/webp"; then
+applyPatch "$DOS_PATCHES_COMMON/android_external_webp/CVE-2023-4863.patch"; #Fix OOB write in BuildHuffmanTable.
+sed -i '85i\ \ \ \ \ \ \ \ "src/utils/filters_utils.c",' Android.bp; #Fixup
+fi;
+
if enterAndClear "external/zlib"; then
applyPatch "$DOS_PATCHES/android_external_zlib/351909.patch"; #P_asb_2023-03 Fix a bug when getting a gzip header extra field with inflate().
fi;
diff --git a/Scripts/LineageOS-16.0/Patch.sh b/Scripts/LineageOS-16.0/Patch.sh
index feb4357c..2f765152 100644
--- a/Scripts/LineageOS-16.0/Patch.sh
+++ b/Scripts/LineageOS-16.0/Patch.sh
@@ -157,6 +157,10 @@ sed -i 's/about to delete/unable to delete/' pico/src/com/svox/pico/LangPackUnin
awk -i inplace '!/deletePackage/' pico/src/com/svox/pico/LangPackUninstaller.java;
fi;
+if enterAndClear "external/webp"; then
+applyPatch "$DOS_PATCHES_COMMON/android_external_webp/CVE-2023-4863.patch"; #Fix OOB write in BuildHuffmanTable.
+fi;
+
if enterAndClear "frameworks/av"; then
applyPatch "$DOS_PATCHES/android_frameworks_av/365962.patch"; #R_asb_2023-09 Fix Segv on unknown address error flagged by fuzzer test.
if [ "$DOS_GRAPHENE_MALLOC" = true ]; then applyPatch "$DOS_PATCHES/android_frameworks_av/0001-HM-No_RLIMIT_AS.patch"; fi; #(GrapheneOS)
diff --git a/Scripts/LineageOS-17.1/Patch.sh b/Scripts/LineageOS-17.1/Patch.sh
index 41a4cd43..e0cc96eb 100644
--- a/Scripts/LineageOS-17.1/Patch.sh
+++ b/Scripts/LineageOS-17.1/Patch.sh
@@ -142,6 +142,10 @@ sed -i 's/about to delete/unable to delete/' pico/src/com/svox/pico/LangPackUnin
awk -i inplace '!/deletePackage/' pico/src/com/svox/pico/LangPackUninstaller.java;
fi;
+if enterAndClear "external/webp"; then
+applyPatch "$DOS_PATCHES_COMMON/android_external_webp/CVE-2023-4863.patch"; #Fix OOB write in BuildHuffmanTable.
+fi;
+
if enterAndClear "external/zlib"; then
git fetch https://github.com/LineageOS/android_external_zlib refs/changes/70/352570/1 && git cherry-pick FETCH_HEAD; #Q_asb_2023-03
fi;
diff --git a/Scripts/LineageOS-18.1/Patch.sh b/Scripts/LineageOS-18.1/Patch.sh
index 0f45e4b5..b934015b 100644
--- a/Scripts/LineageOS-18.1/Patch.sh
+++ b/Scripts/LineageOS-18.1/Patch.sh
@@ -124,7 +124,7 @@ fi;
fi;
if enterAndClear "external/webp"; then
-applyPatch "$DOS_PATCHES/android_external_webp/CVE-2023-4863.patch"; #Fix OOB write in BuildHuffmanTable.
+applyPatch "$DOS_PATCHES_COMMON/android_external_webp/CVE-2023-4863.patch"; #Fix OOB write in BuildHuffmanTable.
fi;
if enterAndClear "frameworks/base"; then