diff --git a/cross/gnupg/Makefile b/cross/gnupg/Makefile
index 6871a06a584..1a929bbc6f5 100644
--- a/cross/gnupg/Makefile
+++ b/cross/gnupg/Makefile
@@ -1,5 +1,5 @@
PKG_NAME = gnupg
-PKG_VERS = 2.4.2
+PKG_VERS = 2.4.8
PKG_EXT = tar.bz2
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://gnupg.org/ftp/gcrypt/gnupg
@@ -24,6 +24,7 @@ CONFIGURE_ARGS += --with-libgcrypt-prefix=$(STAGING_INSTALL_PREFIX)
CONFIGURE_ARGS += --with-libassuan-prefix=$(STAGING_INSTALL_PREFIX)
CONFIGURE_ARGS += --with-ksba-prefix=$(STAGING_INSTALL_PREFIX)
CONFIGURE_ARGS += --with-npth-prefix=$(STAGING_INSTALL_PREFIX)
+CONFIGURE_ARGS += GPGRT_CONFIG=$(STAGING_INSTALL_PREFIX)/bin/gpgrt-config
ADDITIONAL_CPPFLAGS = -O
diff --git a/cross/gnupg/digests b/cross/gnupg/digests
index 1d078204a8e..06cfbe06c74 100644
--- a/cross/gnupg/digests
+++ b/cross/gnupg/digests
@@ -1,3 +1,3 @@
-gnupg-2.4.2.tar.bz2 SHA1 3efd495a94dc81fd0ea8788bef6c69d1f13cedd7
-gnupg-2.4.2.tar.bz2 SHA256 97eb47df8ae5a3ff744f868005a090da5ab45cb48ee9836dbf5ee739a4e5cf49
-gnupg-2.4.2.tar.bz2 MD5 089420cb30eee527afee667c56bb6b2e
+gnupg-2.4.8.tar.bz2 SHA1 c704085aa7cc131a67edd0b7c0c90e5c35ee4adb
+gnupg-2.4.8.tar.bz2 SHA256 b58c80d79b04d3243ff49c1c3fc6b5f83138eb3784689563bcdd060595318616
+gnupg-2.4.8.tar.bz2 MD5 a165b60aeaac0bb4d251117a45199c5f
diff --git a/cross/gnutls/Makefile b/cross/gnutls/Makefile
index 33df937f091..cf261c3dd55 100644
--- a/cross/gnutls/Makefile
+++ b/cross/gnutls/Makefile
@@ -1,5 +1,5 @@
PKG_NAME = gnutls
-PKG_VERS = 3.7.9
+PKG_VERS = 3.7.11
PKG_EXT = tar.xz
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://gnupg.org/ftp/gcrypt/gnutls/v$(word 1,$(subst ., ,$(PKG_VERS))).$(word 2,$(subst ., ,$(PKG_VERS)))
diff --git a/cross/gnutls/PLIST b/cross/gnutls/PLIST
index f712feeb66f..fd31fe6e441 100644
--- a/cross/gnutls/PLIST
+++ b/cross/gnutls/PLIST
@@ -7,7 +7,7 @@ bin:bin/psktool
bin:bin/srptool
lnk:lib/libgnutls.so
lnk:lib/libgnutls.so.30
-lib:lib/libgnutls.so.30.34.3
+lib:lib/libgnutls.so.30.34.5
lnk:lib/libgnutlsxx.so
lnk:lib/libgnutlsxx.so.30
lib:lib/libgnutlsxx.so.30.0.0
diff --git a/cross/gnutls/digests b/cross/gnutls/digests
index ecee4dd0d2a..aee27c27572 100644
--- a/cross/gnutls/digests
+++ b/cross/gnutls/digests
@@ -1,3 +1,3 @@
-gnutls-3.7.9.tar.xz SHA1 8896a303b70481dbfa6e3824a0d62ccd36acad29
-gnutls-3.7.9.tar.xz SHA256 aaa03416cdbd54eb155187b359e3ec3ed52ec73df4df35a0edd49429ff64d844
-gnutls-3.7.9.tar.xz MD5 191b8bac4c8aac468549ca64ac2f30b6
+gnutls-3.7.11.tar.xz SHA1 9001ec4c4ae9decd9aeed13fc6a9ca60b4ffb3a7
+gnutls-3.7.11.tar.xz SHA256 90e337504031ef7d3077ab1a52ca8bac9b2f72bc454c95365a1cd1e0e81e06e9
+gnutls-3.7.11.tar.xz MD5 dd8c16b17f1d37fca203e756e981a957
diff --git a/cross/libassuan/Makefile b/cross/libassuan/Makefile
index 0e60ee42a70..93e1c351e91 100644
--- a/cross/libassuan/Makefile
+++ b/cross/libassuan/Makefile
@@ -1,10 +1,12 @@
PKG_NAME = libassuan
-PKG_VERS = 2.5.5
+PKG_VERS = 2.5.7
PKG_EXT = tar.bz2
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://www.gnupg.org/ftp/gcrypt/libassuan
PKG_DIR = $(PKG_NAME)-$(PKG_VERS)
+# Versions newer than 2.5.7 are not compatible with gpgme v1.17.1
+
DEPENDS = cross/libgpg-error
HOMEPAGE = https://www.gnupg.org/related_software/libassuan/
diff --git a/cross/libassuan/PLIST b/cross/libassuan/PLIST
index 3d1a9141c6b..68b9f7d02ed 100644
--- a/cross/libassuan/PLIST
+++ b/cross/libassuan/PLIST
@@ -1,4 +1,4 @@
rsc:bin/libassuan-config
lnk:lib/libassuan.so
lnk:lib/libassuan.so.0
-lib:lib/libassuan.so.0.8.5
+lib:lib/libassuan.so.0.8.7
diff --git a/cross/libassuan/digests b/cross/libassuan/digests
index 19a7a8c3ae8..0700a2a5275 100644
--- a/cross/libassuan/digests
+++ b/cross/libassuan/digests
@@ -1,3 +1,3 @@
-libassuan-2.5.5.tar.bz2 SHA1 ec4f67c0117ccd17007c748a392ded96dc1b1ae9
-libassuan-2.5.5.tar.bz2 SHA256 8e8c2fcc982f9ca67dcbb1d95e2dc746b1739a4668bc20b3a3c5be632edb34e4
-libassuan-2.5.5.tar.bz2 MD5 7194453152bb67e3d45da698762b5d6f
+libassuan-2.5.7.tar.bz2 SHA1 b6ccd955085dac902a09871f94a3d41a7667d0c8
+libassuan-2.5.7.tar.bz2 SHA256 0103081ffc27838a2e50479153ca105e873d3d65d8a9593282e9c94c7e6afb76
+libassuan-2.5.7.tar.bz2 MD5 fe8310b1a5bcaa32d70af476fa2b942a
diff --git a/cross/libgcrypt/Makefile b/cross/libgcrypt/Makefile
index f91c728d0ac..02369b1e9ac 100644
--- a/cross/libgcrypt/Makefile
+++ b/cross/libgcrypt/Makefile
@@ -1,5 +1,5 @@
PKG_NAME = libgcrypt
-PKG_VERS = 1.10.2
+PKG_VERS = 1.11.1
PKG_EXT = tar.bz2
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://gnupg.org/ftp/gcrypt/libgcrypt
diff --git a/cross/libgcrypt/PLIST b/cross/libgcrypt/PLIST
index 99d60139f92..2918e48a160 100644
--- a/cross/libgcrypt/PLIST
+++ b/cross/libgcrypt/PLIST
@@ -3,4 +3,4 @@ bin:bin/hmac256
bin:bin/mpicalc
lnk:lib/libgcrypt.so
lnk:lib/libgcrypt.so.20
-lib:lib/libgcrypt.so.20.4.2
+lib:lib/libgcrypt.so.20.5.1
diff --git a/cross/libgcrypt/digests b/cross/libgcrypt/digests
index 1a882dfdb45..cd4b3dd7a7d 100644
--- a/cross/libgcrypt/digests
+++ b/cross/libgcrypt/digests
@@ -1,3 +1,3 @@
-libgcrypt-1.10.2.tar.bz2 SHA1 0b9555960d84a09ea14e52360808f2e02e9c12d2
-libgcrypt-1.10.2.tar.bz2 SHA256 3b9c02a004b68c256add99701de00b383accccf37177e0d6c58289664cce0c03
-libgcrypt-1.10.2.tar.bz2 MD5 663abb395452750522d6797967e2f442
+libgcrypt-1.11.1.tar.bz2 SHA1 d33eb270cd74e8c23e263eb5cdb8f7de740f7b49
+libgcrypt-1.11.1.tar.bz2 SHA256 24e91c9123a46c54e8371f3a3a2502f1198f2893fbfbf59af95bc1c21499b00e
+libgcrypt-1.11.1.tar.bz2 MD5 66bf74fd479dbba81e9283b669ad4233
diff --git a/cross/libgcrypt/patches/001-avoid-build-of-tests.patch b/cross/libgcrypt/patches/001-avoid-build-of-tests.patch
index 44bdda40121..91eeed2b72f 100644
--- a/cross/libgcrypt/patches/001-avoid-build-of-tests.patch
+++ b/cross/libgcrypt/patches/001-avoid-build-of-tests.patch
@@ -3,9 +3,9 @@
# - tests would fail to run in cross environment
# - tests fail to build for OLD_PPC_ARCHS
#
---- Makefile.in.orig 2023-04-06 19:07:16.000000000 +0000
-+++ Makefile.in 2023-06-20 12:22:50.825337592 +0000
-@@ -417,12 +417,12 @@
+--- Makefile.in.orig 2025-05-07 11:51:54
++++ Makefile.in 2025-07-12 09:14:22
+@@ -414,12 +414,12 @@
GITLOG_TO_CHANGELOG = gitlog-to-changelog
@BUILD_DOC_FALSE@doc =
@BUILD_DOC_TRUE@doc = doc
@@ -13,11 +13,11 @@
-SUBDIRS = compat mpi cipher random src $(doc) tests
+DIST_SUBDIRS = m4 compat mpi cipher random src doc
+SUBDIRS = compat mpi cipher random src $(doc)
- EXTRA_DIST = autogen.sh autogen.rc README.GIT LICENSES \
- ChangeLog-2011 build-aux/ChangeLog-2011 doc/ChangeLog-2011 \
- m4/ChangeLog-2011 cipher/ChangeLog-2011 src/ChangeLog-2011 \
-- random/ChangeLog-2011 tests/ChangeLog-2011 mpi/ChangeLog-2011 \
-+ random/ChangeLog-2011 mpi/ChangeLog-2011 \
- build-aux/git-log-footer build-aux/git-log-fix VERSION
+ EXTRA_DIST = autogen.sh autogen.rc README.GIT LICENSES \
+ ChangeLog-2011 build-aux/ChangeLog-2011 doc/ChangeLog-2011 \
+ m4/ChangeLog-2011 cipher/ChangeLog-2011 src/ChangeLog-2011 \
+- random/ChangeLog-2011 tests/ChangeLog-2011 mpi/ChangeLog-2011 \
++ random/ChangeLog-2011 mpi/ChangeLog-2011 \
+ build-aux/libtool-patch.sed \
+ build-aux/git-log-footer build-aux/git-log-fix VERSION
- DISTCLEANFILES =
diff --git a/cross/libgpg-error/Makefile b/cross/libgpg-error/Makefile
index e25c64cbceb..26f6ba81fe3 100644
--- a/cross/libgpg-error/Makefile
+++ b/cross/libgpg-error/Makefile
@@ -1,5 +1,5 @@
PKG_NAME = libgpg-error
-PKG_VERS = 1.47
+PKG_VERS = 1.55
PKG_EXT = tar.bz2
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://gnupg.org/ftp/gcrypt/libgpg-error
diff --git a/cross/libgpg-error/PLIST b/cross/libgpg-error/PLIST
index 6fc74378482..e4541862eda 100644
--- a/cross/libgpg-error/PLIST
+++ b/cross/libgpg-error/PLIST
@@ -2,5 +2,5 @@ bin:bin/gpg-error
rsc:bin/gpg-error-config
lnk:lib/libgpg-error.so
lnk:lib/libgpg-error.so.0
-lib:lib/libgpg-error.so.0.34.0
+lib:lib/libgpg-error.so.0.39.3
rsc:share/libgpg-error/errorref.txt
diff --git a/cross/libgpg-error/digests b/cross/libgpg-error/digests
index 1e8374c0088..e57229840a8 100644
--- a/cross/libgpg-error/digests
+++ b/cross/libgpg-error/digests
@@ -1,3 +1,3 @@
-libgpg-error-1.47.tar.bz2 SHA1 94668233fd7bd8e7c0ec5e363134cd53c575da60
-libgpg-error-1.47.tar.bz2 SHA256 9e3c670966b96ecc746c28c2c419541e3bcb787d1a73930f5e5f5e1bcbbb9bdb
-libgpg-error-1.47.tar.bz2 MD5 58e054ca192a77226c4822bbee1b7fdb
+libgpg-error-1.55.tar.bz2 SHA1 d275a092181f08af0ef5e7b247a1a9a0ca7cb160
+libgpg-error-1.55.tar.bz2 SHA256 95b178148863f07d45df0cea67e880a79b9ef71f5d230baddc0071128516ef78
+libgpg-error-1.55.tar.bz2 MD5 0430e56fd67d0751b83fc18b0f56a084
diff --git a/cross/libksba/Makefile b/cross/libksba/Makefile
index 9535e12710d..02282dc2da6 100644
--- a/cross/libksba/Makefile
+++ b/cross/libksba/Makefile
@@ -1,5 +1,5 @@
PKG_NAME = libksba
-PKG_VERS = 1.6.3
+PKG_VERS = 1.6.7
PKG_EXT = tar.bz2
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://gnupg.org/ftp/gcrypt/libksba
diff --git a/cross/libksba/PLIST b/cross/libksba/PLIST
index efe160c0460..e2d64e4ddcf 100644
--- a/cross/libksba/PLIST
+++ b/cross/libksba/PLIST
@@ -1,3 +1,3 @@
lnk:lib/libksba.so
lnk:lib/libksba.so.8
-lib:lib/libksba.so.8.14.3
+lib:lib/libksba.so.8.14.7
diff --git a/cross/libksba/digests b/cross/libksba/digests
index b118b4670e1..b667d133ff3 100644
--- a/cross/libksba/digests
+++ b/cross/libksba/digests
@@ -1,3 +1,3 @@
-libksba-1.6.3.tar.bz2 SHA1 7fe6d00b61e85a699a28d0aa309ba0bddcc46f3e
-libksba-1.6.3.tar.bz2 SHA256 3f72c68db30971ebbf14367527719423f0a4d5f8103fc9f4a1c01a9fa440de5c
-libksba-1.6.3.tar.bz2 MD5 65683abfe7175e3cb19fb6f40175fea8
+libksba-1.6.7.tar.bz2 SHA1 781acfb012cbb5328f41efcf82f723524e8d0128
+libksba-1.6.7.tar.bz2 SHA256 cf72510b8ebb4eb6693eef765749d83677a03c79291a311040a5bfd79baab763
+libksba-1.6.7.tar.bz2 MD5 7e736de467b67c7ea88de746c31ea12f
diff --git a/cross/npth/Makefile b/cross/npth/Makefile
index 0c74dcb5430..af847880f6e 100644
--- a/cross/npth/Makefile
+++ b/cross/npth/Makefile
@@ -1,5 +1,5 @@
PKG_NAME = npth
-PKG_VERS = 1.6
+PKG_VERS = 1.8
PKG_EXT = tar.bz2
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://www.gnupg.org/ftp/gcrypt/npth
diff --git a/cross/npth/PLIST b/cross/npth/PLIST
index 2cd5fa9ba3e..16d0a406fd0 100644
--- a/cross/npth/PLIST
+++ b/cross/npth/PLIST
@@ -1,4 +1,4 @@
rsc:bin/npth-config
lnk:lib/libnpth.so
lnk:lib/libnpth.so.0
-lib:lib/libnpth.so.0.1.2
+lib:lib/libnpth.so.0.3.0
diff --git a/cross/npth/digests b/cross/npth/digests
index 67a9ffdfda0..800501713d4 100644
--- a/cross/npth/digests
+++ b/cross/npth/digests
@@ -1,3 +1,3 @@
-npth-1.6.tar.bz2 SHA1 f9d63e9747b027e4e404fe3c20c73c73719e1731
-npth-1.6.tar.bz2 SHA256 1393abd9adcf0762d34798dc34fdcf4d0d22a8410721e76f1e3afcd1daa4e2d1
-npth-1.6.tar.bz2 MD5 375d1a15ad969f32d25f1a7630929854
+npth-1.8.tar.bz2 SHA1 6f60ce8540453e120d715f269d0c7cfd9e0b0d24
+npth-1.8.tar.bz2 SHA256 8bd24b4f23a3065d6e5b26e98aba9ce783ea4fd781069c1b35d149694e90ca3e
+npth-1.8.tar.bz2 MD5 cb4fc0402be5ba67544e499cb2c1a74d
diff --git a/cross/pinentry/Makefile b/cross/pinentry/Makefile
index b9bd795fd57..021a989555f 100644
--- a/cross/pinentry/Makefile
+++ b/cross/pinentry/Makefile
@@ -1,5 +1,5 @@
PKG_NAME = pinentry
-PKG_VERS = 1.2.1
+PKG_VERS = 1.3.1
PKG_EXT = tar.bz2
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://www.gnupg.org/ftp/gcrypt/pinentry
diff --git a/cross/pinentry/digests b/cross/pinentry/digests
index 21080e8aba5..58700f48597 100644
--- a/cross/pinentry/digests
+++ b/cross/pinentry/digests
@@ -1,3 +1,3 @@
-pinentry-1.2.1.tar.bz2 SHA1 29daaf45f15cb5b8ec9b4a06284343f7a87082fb
-pinentry-1.2.1.tar.bz2 SHA256 457a185e5a85238fb945a955dc6352ab962dc8b48720b62fc9fa48c7540a4067
-pinentry-1.2.1.tar.bz2 MD5 be9b0d4bb493a139d2ec20e9b6872d37
+pinentry-1.3.1.tar.bz2 SHA1 fb0bbb88211558c8f7e652b4b6a675b1972fba04
+pinentry-1.3.1.tar.bz2 SHA256 bc72ee27c7239007ab1896c3c2fae53b076e2c9bd2483dc2769a16902bce8c04
+pinentry-1.3.1.tar.bz2 MD5 89a6844fcf76d3c022ce6c6e930c17ee
diff --git a/spk/gnupg/Makefile b/spk/gnupg/Makefile
index c552722a962..aa1a27ba772 100644
--- a/spk/gnupg/Makefile
+++ b/spk/gnupg/Makefile
@@ -1,6 +1,6 @@
SPK_NAME = gnupg
-SPK_VERS = 2.4.2
-SPK_REV = 6
+SPK_VERS = 2.4.8
+SPK_REV = 7
SPK_ICON = src/gnupg.png
DEPENDS = cross/gnupg
@@ -9,7 +9,7 @@ MAINTAINER = SynoCommunity
DESCRIPTION = GnuPG allows to encrypt and sign your data and communication, features a versatile key management system as well as access modules for all kinds of public key directories.
STARTABLE = no
DISPLAY_NAME = GnuPG
-CHANGELOG = "1. Update gnupg to 2.4.2
2. Update shared libraries.
3. Fix key generation for aarch64 on DSM 6."
+CHANGELOG = "1. Update gnupg to 2.4.8
2. Update shared libraries."
HOMEPAGE = https://www.gnupg.org/
LICENSE = GPLv3