diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4abe01c6bd4c8d09bda22a7c8cc8d6e8d3116cbc..8cad74b219e9471d8e3259050be55bfcdb3f200e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,7 +4,7 @@ stages:
 
 variables:
   IMAGE_PATH: "${CI_REGISTRY_IMAGE}"
-  GOLANG_VERSION: "1.22"
+  GOLANG_VERSION: "1.23"
 
 .build: &build
     stage: build
@@ -38,7 +38,7 @@ build-gnmi-target-debian:
     <<: *build
 
 code-quality:
-    image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/golangci/golangci-lint:v1.59.1-alpine
+    image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/golangci/golangci-lint:v1.61.0-alpine
     stage: analyze
     script:
         # writes golangci-lint output to gl-code-quality-report.json
diff --git a/.golangci.yml b/.golangci.yml
index 8d4b9395b803b09544a5d37f217d48dc5f8467dc..e879bd78782720fcfb8445f02d3e7870c7a6eec4 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -1,7 +1,7 @@
 variables:
-    GOLANG_VERSION: "1.22"
+    GOLANG_VERSION: "1.23"
 run:
-    go: $GOLANG_VERSION
+    go-version: $GOLANG_VERSION
     concurrency: 8
     timeout: 20m
     issues-exit-code: 1
@@ -51,7 +51,7 @@ linters:
         - bidichk
         - durationcheck
         - errorlint
-        - exportloopref
+        - copyloopvar
         - grouper
         - makezero
         - misspell
diff --git a/Makefile b/Makefile
index 68ad35f5e3bd9acd98d194ddf1ba1fc2ed91854a..bc0673ba45d053f2091705bc153406a37f97fa24 100644
--- a/Makefile
+++ b/Makefile
@@ -8,7 +8,7 @@ GOSDN_PRG := $(MAKEFILE_DIR)$(TOOLS_DIR)
 GOPATH := $(~/go)
 GOBIN := $(GOSDN_PRG)
 
-GOLANGCI_LINT_VERSION=v1.59.0
+GOLANGCI_LINT_VERSION=v1.61.0
 
 GOCMD=go
 GOBUILD=$(GOCMD) build