diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f4bb4551ee518405f3c26f59c7b7dd738622bc49..3b9929324c10a391907551904a0f8c6ad9922fc0 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,7 +2,7 @@ variables:
     GOSDN_IMAGE: "${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA}"
     GOSDN_TESTING_IMAGE: "${CI_REGISTRY_IMAGE}:testing_${CI_COMMIT_SHA}"
     CEOS_IMAGE: "${CI_PCONTAINERS_REGISTRY_IMAGE}/ceos:4.28.2F"
-    GOLANG_VERSION: "1.20.3"
+    GOLANG_VERSION: "1.20.4"
 
 workflow:
   rules:
diff --git a/.gitlab/ci/.code-quality-ci.yml b/.gitlab/ci/.code-quality-ci.yml
index 39d6d578d93c5afddec56c94b6b21fcdf5ab98b4..341bcb6aaab77f08ef51d918a651db8edf86a63a 100644
--- a/.gitlab/ci/.code-quality-ci.yml
+++ b/.gitlab/ci/.code-quality-ci.yml
@@ -1,5 +1,5 @@
 variables:
-    GOLANG_VERSION: "1.20.3"
+    GOLANG_VERSION: "1.20.4"
 code-quality:
     image: golangci/golangci-lint:v1.52.2-alpine
     stage: analyze
diff --git a/.golangci.yml b/.golangci.yml
index a121dc0809841bd022032f415a7c5525eb18ce7e..7f01e42a804106dbec27ca2a5847d09ebd993cbd 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -1,5 +1,5 @@
 variables:
-    GOLANG_VERSION: "1.20.3"
+    GOLANG_VERSION: "1.20.4"
 run:
     go: $GOLANG_VERSION
     concurrency: 4
diff --git a/applications/arista-routing-engine/arista-routing-engine.Dockerfile b/applications/arista-routing-engine/arista-routing-engine.Dockerfile
index dbb3b7c6ed33d6a637048365d2a0671e739f8c0b..a634745fc632acc973d54eb6536be48d07aabded 100644
--- a/applications/arista-routing-engine/arista-routing-engine.Dockerfile
+++ b/applications/arista-routing-engine/arista-routing-engine.Dockerfile
@@ -1,4 +1,4 @@
-ARG GOLANG_VERSION=1.20.3
+ARG GOLANG_VERSION=1.20.4
 ARG BUILDARGS
 ARG $GITLAB_PROXY
 
diff --git a/applications/venv-manager/venv-manager.Dockerfile b/applications/venv-manager/venv-manager.Dockerfile
index a4d8f342fed83a64176f7b35711fb133a1644348..20f5356185b2d9bf570dc409c696a18a8baaeb60 100644
--- a/applications/venv-manager/venv-manager.Dockerfile
+++ b/applications/venv-manager/venv-manager.Dockerfile
@@ -1,4 +1,4 @@
-ARG GOLANG_VERSION=1.20.3
+ARG GOLANG_VERSION=1.20.4
 ARG BUILDARGS
 ARG $GITLAB_PROXY=code.fbi.h-da.de:443/danet/dependency_proxy/containers
 
diff --git a/cli/build/ci/.test.yml b/cli/build/ci/.test.yml
index 912f2b63fe0177550ffb7147c7b456f72a507791..58d5a5a6f456c28e38038268af85a79919563611 100644
--- a/cli/build/ci/.test.yml
+++ b/cli/build/ci/.test.yml
@@ -1,5 +1,5 @@
 variables:
-    GOLANG_VERSION: "1.20.3"
+    GOLANG_VERSION: "1.20.4"
 test:
     image: golang:$GOLANG_VERSION
     stage: test
diff --git a/cli/cli.Dockerfile b/cli/cli.Dockerfile
index e31269a3ee07642a43eb270a3fce669c5ce5c895..4083d0ef6ea708d77aa5f9313a1d00c7d511b917 100644
--- a/cli/cli.Dockerfile
+++ b/cli/cli.Dockerfile
@@ -1,4 +1,4 @@
-ARG GOLANG_VERSION=1.20.3
+ARG GOLANG_VERSION=1.20.4
 ARG BUILDARGS
 ARG $GITLAB_PROXY
 
diff --git a/controller/Dockerfile.debug b/controller/Dockerfile.debug
index fc6c7b73935932b3a89791c0736f3e652d8c3885..ded7ae21192dd8d06a48d458ff6c05e7432d7155 100644
--- a/controller/Dockerfile.debug
+++ b/controller/Dockerfile.debug
@@ -1,5 +1,5 @@
 # syntax = docker/dockerfile:1.2
-ARG GOLANG_VERSION=1.20.1
+ARG GOLANG_VERSION=1.20.4
 FROM golang:$GOLANG_VERSION-alpine AS builder
 ARG GITLAB_USER
 ARG GITLAB_TOKEN
@@ -25,4 +25,4 @@ EXPOSE 40000
 COPY --from=builder /src/gosdn /
 COPY --from=builder /go/bin/dlv /
 
-CMD ["/dlv", "--listen=:40000", "--headless=true", "--api-version=2", "exec", "/gosdn"]
\ No newline at end of file
+CMD ["/dlv", "--listen=:40000", "--headless=true", "--api-version=2", "exec", "/gosdn"]
diff --git a/controller/controller.Dockerfile b/controller/controller.Dockerfile
index 3189236a2647c0bcbb78113bf27259ecce6c909d..3550b3367e1dfe4ffe108ab7ee5982fc33a650af 100644
--- a/controller/controller.Dockerfile
+++ b/controller/controller.Dockerfile
@@ -1,4 +1,4 @@
-ARG GOLANG_VERSION=1.20.3
+ARG GOLANG_VERSION=1.20.4
 ARG BUILDARGS
 ARG $GITLAB_PROXY
 
diff --git a/csbi/gnmi-target/gnmitarget.Dockerfile b/csbi/gnmi-target/gnmitarget.Dockerfile
index 4e5a384f855d0efee899ef712fe5877372efd9ef..ffd050e646d20eccf2149f359ed30816633dbddd 100644
--- a/csbi/gnmi-target/gnmitarget.Dockerfile
+++ b/csbi/gnmi-target/gnmitarget.Dockerfile
@@ -1,4 +1,4 @@
-ARG GOLANG_VERSION=1.20.3
+ARG GOLANG_VERSION=1.20.4
 FROM golang:$GOLANG_VERSION-alpine
 RUN go install github.com/google/gnxi/gnmi_target@latest
 RUN wget https://raw.githubusercontent.com/google/gnxi/master/gnmi_target/openconfig-openflow.json
diff --git a/csbi/resources/Dockerfile b/csbi/resources/Dockerfile
index c7cd03fe721fc9ac24db72a215279f84c6789382..fb855579fd25aaf03a809418aab2bffa89884c56 100644
--- a/csbi/resources/Dockerfile
+++ b/csbi/resources/Dockerfile
@@ -1,5 +1,5 @@
 # syntax = docker/dockerfile:1.2
-ARG GOLANG_VERSION=1.20.3
+ARG GOLANG_VERSION=1.20.4
 FROM golang:$GOLANG_VERSION-alpine AS installer
 ARG GITLAB_USER
 ARG GITLAB_TOKEN
diff --git a/lab-vm/vm-with-packer/scripts/setup.sh b/lab-vm/vm-with-packer/scripts/setup.sh
index 61fc5b46d48b69f12f3ca468a88663722af9c3e6..0cd154094f405bdddc31bfdf1c0ff69d08b4da36 100644
--- a/lab-vm/vm-with-packer/scripts/setup.sh
+++ b/lab-vm/vm-with-packer/scripts/setup.sh
@@ -5,9 +5,9 @@ sudo apt update
 sudo apt upgrade -y
 
 # Install go
-wget https://go.dev/dl/go1.20.3.linux-amd64.tar.gz
-sudo tar -C /usr/local/ -xzf go1.20.3.linux-amd64.tar.gz
-rm go1.20.3.linux-amd64.tar.gz
+wget https://go.dev/dl/go1.20.4.linux-amd64.tar.gz
+sudo tar -C /usr/local/ -xzf go1.20.4.linux-amd64.tar.gz
+rm go1.20.4.linux-amd64.tar.gz
 echo "export PATH=$PATH:/usr/local/go/bin" >>/home/gosdn/.profile
 echo "export GOPATH=$HOME/go " >>/home/gosdn/.profile
 source /home/gosdn/.profile
diff --git a/lab-vm/vm-with-vagrant/Vagrantfile b/lab-vm/vm-with-vagrant/Vagrantfile
index dff2133e47645aa2885c89df09871b374a95901e..2b19abf5c4f2a0abfbe16260d96b86d1b11ccd3f 100644
--- a/lab-vm/vm-with-vagrant/Vagrantfile
+++ b/lab-vm/vm-with-vagrant/Vagrantfile
@@ -37,9 +37,9 @@ Vagrant.configure(2) do |config|
     zip
     apt-get autoremove -y
     ####### installing go #######
-    wget https://go.dev/dl/go1.20.3.linux-amd64.tar.gz
-    rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.20.3.linux-amd64.tar.gz
-    rm go1.20.3.linux-amd64.tar.gz
+    wget https://go.dev/dl/go1.20.4.linux-amd64.tar.gz
+    rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.20.4.linux-amd64.tar.gz
+    rm go1.20.4.linux-amd64.tar.gz
     echo 'export PATH=$PATH:/usr/local/go/bin' >> /home/vagrant/.profile
     echo 'export GOPATH=$HOME/go' >> /home/vagrant/.profile
     source /home/vagrant/.profile