diff --git a/contrib/src/upnp/SHA512SUMS b/contrib/src/upnp/SHA512SUMS
index 9f1d758ecb2569922dbbe50cc885498ff7ef8dd1..bb7c67c74489c6f1578bce316acd73dd22e428b9 100644
--- a/contrib/src/upnp/SHA512SUMS
+++ b/contrib/src/upnp/SHA512SUMS
@@ -1 +1,2 @@
-6d96dc0dcf187a425f3b60f4e750102331bd0a5bd452007e345eeacb63e9287ac213574c8071294809283ff8d8795433706ed2a14bae3d451605bf7a75e5a5bb  pupnp-release-1.8.4.tar.gz
+bcf6a806772187b681ba293be3b060f3da534f553056bf0d98d213869f6dc587ad7aa9dd06b0a232995198adc461b53861415198f7f2decda17fd19163a7a39f  pupnp-edd037bf9b66637db42c08981c0e4ffeb6faadfa.tar.gz
+998ef22d2af8e4cbc7fa1f87613ae0aa840e636bb72a5656a97327b0820a46b2b3ed2f3200260c018b5339de2fc4be760d42a3c687e49c7fedb58c1ad2287699  pupnp-release-1.12.0.tar.gz
\ No newline at end of file
diff --git a/contrib/src/upnp/rules.mak b/contrib/src/upnp/rules.mak
index e83a5cc9ff5eb8a532e247e4b387fd541eba6e2c..998d352af2d599677607ec7382ae17b8dc733bf3 100644
--- a/contrib/src/upnp/rules.mak
+++ b/contrib/src/upnp/rules.mak
@@ -1,5 +1,5 @@
 # UPNP
-UPNP_VERSION := 1.8.4
+UPNP_VERSION := 1.12.0
 UPNP_URL := https://github.com/mrjimenez/pupnp/archive/release-$(UPNP_VERSION).tar.gz
 
 PKGS += upnp
@@ -18,17 +18,17 @@ ifeq ($(OS),Windows_NT)
 	$(APPLY) $(SRC)/upnp/libupnp-windows.patch
 endif
 	$(APPLY) $(SRC)/upnp/libupnp-ipv6.patch
-	$(APPLY) $(SRC)/upnp/miniserver.patch
+	#$(APPLY) $(SRC)/upnp/miniserver.patch
 	$(UPDATE_AUTOCONFIG) && cd $(UNPACK_DIR) && mv config.guess config.sub
 	$(MOVE)
 
 .upnp: upnp
 ifdef HAVE_WIN32
 	$(RECONF)
-	cd $< && $(HOSTVARS) CFLAGS="-DUPNP_STATIC_LIB" ./configure --disable-largefile --disable-samples --disable-webserver --without-documentation $(HOSTCONF)
+	cd $< && $(HOSTVARS) CFLAGS="-DUPNP_STATIC_LIB" ./configure --disable-largefile --disable-samples --disable-device --disable-webserver --without-documentation $(HOSTCONF)
 else
 	$(RECONF)
-	cd $< && $(HOSTVARS) CFLAGS="$(CFLAGS) -DUPNP_STATIC_LIB" ./configure --disable-largefile --disable-samples --disable-webserver --without-documentation $(HOSTCONF)
+	cd $< && $(HOSTVARS) CFLAGS="$(CFLAGS) -DUPNP_STATIC_LIB" ./configure --disable-largefile --disable-samples --disable-device --disable-webserver --without-documentation $(HOSTCONF)
 endif
 	cd $< && $(MAKE) install
 	touch $@