{"id":11228,"date":"2026-10-03T23:58:21","date_gmt":"2026-10-03T23:58:21","guid":{"rendered":"https:\/\/bitep.net\/blog\/2026\/10\/03\/gitlab-ai-gateway-d%c9%99-kritik-99-bo%c5%9flu%c4%9fu-aradan-qald%c4%b1rd%c4%b1-serverl%c9%99rd%c9%99-%c9%99mr-icras%c4%b1na\/"},"modified":"2026-10-03T23:58:21","modified_gmt":"2026-10-03T23:58:21","slug":"gitlab-ai-gateway-d%c9%99-kritik-99-bo%c5%9flu%c4%9fu-aradan-qald%c4%b1rd%c4%b1-serverl%c9%99rd%c9%99-%c9%99mr-icras%c4%b1na","status":"publish","type":"post","link":"https:\/\/bitep.net\/blog\/2026\/10\/03\/gitlab-ai-gateway-d%c9%99-kritik-99-bo%c5%9flu%c4%9fu-aradan-qald%c4%b1rd%c4%b1-serverl%c9%99rd%c9%99-%c9%99mr-icras%c4%b1na\/","title":{"rendered":"GitLab AI Gateway-d\u0259 kritik 9.9 bo\u015flu\u011fu aradan qald\u0131rd\u0131: Serverl\u0259rd\u0259 \u0259mr icras\u0131na imkan verirdi"},"content":{"rendered":"<h2>GitLab AI Gateway-d\u0259 Kritik 9.9 Bal G\u00fcc\u00fcnd\u0259 T\u0259hl\u00fck\u0259sizlik Z\u0259ifliyi: Self-Hosted Serverl\u0259r T\u0259hl\u00fck\u0259 Alt\u0131nda<\/h2>\n<p>Populyar DevSecOps platformas\u0131 GitLab, \u00f6z serverl\u0259rind\u0259 yerl\u0259\u015fdiril\u0259n (self-hosted) instansiyalarda f\u0259aliyy\u0259t g\u00f6st\u0259r\u0259n AI Gateway komponentind\u0259 a\u015fkar edilmi\u015f kritik t\u0259hl\u00fck\u0259sizlik bo\u015flu\u011fu \u00fc\u00e7\u00fcn t\u0259cili yenil\u0259m\u0259 yay\u0131mlay\u0131b. <strong>CVE-2026-90970<\/strong> identifikatoru il\u0259 qeydiyyata al\u0131nan z\u0259iflik <strong>CVSS 3.1<\/strong> \u015fkalas\u0131 \u00fczr\u0259 <strong>9.9 (Kritik)<\/strong> balla qiym\u0259tl\u0259ndirilib. Z\u0259iflik autentifikasiyadan ke\u00e7mi\u015f h\u00fccum\u00e7ulara prompt sandbox m\u00fchitind\u0259n k\u0259nara \u00e7\u0131xaraq host serverd\u0259 m\u0259saf\u0259d\u0259n ixtiyari sistem \u0259mrl\u0259rini icra etm\u0259y\u0259 (Remote Code Execution \u2014 RCE) \u015f\u0259rait yarad\u0131r.<\/p>\n<p>GitLab.com bulud infrastrukturu d\u0259rhal yenil\u0259n\u0259r\u0259k qorunma alt\u0131na al\u0131nsa da, AI funksionall\u0131\u011f\u0131ndan istifad\u0259 ed\u0259n lokal server inzibat\u00e7\u0131lar\u0131 \u00fc\u00e7\u00fcn risk olduqca y\u00fcks\u0259k olaraq qal\u0131r.<\/p>\n<h2>Z\u0259ifliyin Texniki Detallar\u0131: CWE-1336 v\u0259 Prompt Sandbox-dan \u00c7\u0131x\u0131\u015f<\/h2>\n<p>A\u015fkar edilmi\u015f bo\u015fluq <strong>CWE-1336<\/strong> (\u015eablon M\u00fch\u0259rriki T\u0259hl\u00fck\u0259sizliyi Problemi \/ Template Engine Injection) kateqoriyas\u0131na aiddir. Z\u0259ifliyin k\u00f6k\u00fc GitLab AI Gateway-in f\u0259rdil\u0259\u015fdirilmi\u015f ax\u0131nlar (custom flows) \u00fc\u00e7\u00fcn n\u0259z\u0259rd\u0259 tutulmu\u015f prompt \u015fablonlar\u0131n\u0131n emal\u0131 mexanizmind\u0259 yerl\u0259\u015fir.<\/p>\n<p>GitLab daxilind\u0259ki Generativ AI funksiyalar\u0131 istifad\u0259\u00e7i sor\u011fular\u0131n\u0131 emal ed\u0259rk\u0259n dinamik \u015fablonlardan istifad\u0259 edir. Lakin \u015fablon m\u00fch\u0259rrikinin t\u0259hl\u00fck\u0259sizlik konfiqurasiyas\u0131ndak\u0131 \u00e7at\u0131\u015fmazl\u0131q s\u0259b\u0259bind\u0259n sistem istifad\u0259\u00e7i t\u0259r\u0259find\u0259n daxil edil\u0259n daxili d\u0259yi\u015f\u0259nl\u0259ri v\u0259 idar\u0259etm\u0259 konstruksiyalar\u0131n\u0131 laz\u0131mi s\u0259viyy\u0259d\u0259 t\u0259mizl\u0259mir (sanitize etmir). N\u0259tic\u0259d\u0259:<\/p>\n<ul>\n<li>Platformada autentifikasiyadan ke\u00e7mi\u015f h\u0259r hans\u0131 bir istifad\u0259\u00e7i x\u00fcsusi haz\u0131rlanm\u0131\u015f \u015fablon strukturu g\u00f6nd\u0259r\u0259 bilir;<\/li>\n<li>AI Gateway \u015fablonu icra ed\u0259rk\u0259n prompt sandbox \u00e7\u0259r\u00e7iv\u0259sind\u0259n k\u0259nara \u00e7\u0131x\u0131r;<\/li>\n<li>Server t\u0259r\u0259fli \u015fablon inyeksiyas\u0131 (SSTI) mexanizmi i\u015f\u0259 d\u00fc\u015f\u0259r\u0259k AI Gateway xidm\u0259tinin i\u015fl\u0259diyi m\u00fchitd\u0259 (Docker konteyneri v\u0259 ya birba\u015fa host \u0259m\u0259liyyat sistemi) ixtiyari sistem \u0259mrl\u0259rinin icras\u0131na yol a\u00e7\u0131r.<\/li>\n<\/ul>\n<p>H\u00fccum\u00e7u bu z\u0259iflikd\u0259n istifad\u0259 ed\u0259r\u0259k API a\u00e7arlar\u0131n\u0131, veril\u0259nl\u0259r bazas\u0131 etimadnam\u0259l\u0259rini (credentials), m\u0259nb\u0259 kodlar\u0131n\u0131 \u0259l\u0259 ke\u00e7ir\u0259 v\u0259 ya korporativ daxili \u015f\u0259b\u0259k\u0259d\u0259 lateral h\u0259r\u0259k\u0259t (lateral movement) ed\u0259 bil\u0259r.<\/p>\n<h2>T\u0259sir\u0259 M\u0259ruz Qalan Versiyalar<\/h2>\n<p>Z\u0259iflik GitLab AI Gateway-in f\u0259rdil\u0259\u015fdirilmi\u015f \u015fablon d\u0259st\u0259yi olan bir ne\u00e7\u0259 \u0259sas burax\u0131l\u0131\u015f\u0131n\u0131 \u0259hat\u0259 edir. Risk alt\u0131nda olan versiyalar\u0131n siyah\u0131s\u0131 a\u015fa\u011f\u0131dak\u0131 kimidir:<\/p>\n<table>\n<thead>\n<tr>\n<th>T\u0259sir\u0259 M\u0259ruz Qalan Versiya Aral\u0131\u011f\u0131<\/th>\n<th>T\u0259hl\u00fck\u0259sizliyin B\u0259rpa Olundu\u011fu Versiya<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>18.1.6-dan 19.2.4-\u0259 q\u0259d\u0259r<\/td>\n<td><strong>19.2.4<\/strong><\/td>\n<\/tr>\n<tr>\n<td>19.3-d\u0259n 19.3.2-y\u0259 q\u0259d\u0259r<\/td>\n<td><strong>19.3.2<\/strong><\/td>\n<\/tr>\n<tr>\n<td>19.4-d\u0259n 19.4.1-\u0259 q\u0259d\u0259r<\/td>\n<td><strong>19.4.1<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>H\u0259ll Yollar\u0131 v\u0259 T\u0259xir\u0259sal\u0131nmaz T\u0259dbirl\u0259r<\/h2>\n<p>GitLab komandas\u0131 problemi aradan qald\u0131rmaq \u00fc\u00e7\u00fcn <strong>19.2.4<\/strong>, <strong>19.3.2<\/strong> v\u0259 <strong>19.4.1<\/strong> versiyalar\u0131nda m\u00fcvafiq t\u0259hl\u00fck\u0259sizlik yamalar\u0131n\u0131 yay\u0131mlay\u0131b. \u018fg\u0259r siz GitLab instansiyas\u0131n\u0131 \u00f6z infrastrukturunuzda (On-Premises, Docker v\u0259 ya Kubernetes\/Helm vasit\u0259sil\u0259) idar\u0259 edirsinizs\u0259, a\u015fa\u011f\u0131dak\u0131 add\u0131mlar\u0131 d\u0259rhal icra etm\u0259yiniz t\u00f6vsiy\u0259 olunur:<\/p>\n<h3>1. AI Gateway Konteynerl\u0259rinin Yenil\u0259nm\u0259si<\/h3>\n<p>\u018fg\u0259r AI Gateway xidm\u0259ti f\u0259rdi Docker konteynerind\u0259 i\u015fl\u0259yirs\u0259, \u0259n son yamanm\u0131\u015f imici \u00e7\u0259k\u0259r\u0259k servisi yenid\u0259n ba\u015flad\u0131n:<\/p>\n<pre><code class=\"language-bash\"># AI Gateway imicini \u0259n son t\u0259hl\u00fck\u0259siz versiyaya yenil\u0259yin\ndocker pull registry.gitlab.com\/gitlab-org\/modelops\/applied-ml\/code-suggestions\/ai-assist\/model-gateway:v19.4.1\n\n# M\u00f6vcud konteyneri dayand\u0131r\u0131b yenisi il\u0259 \u0259v\u0259zl\u0259yin\ndocker stop gitlab-ai-gateway\ndocker rm gitlab-ai-gateway\ndocker run -d --name gitlab-ai-gateway \\\n  --restart always \\\n  -p 5052:5052 \\\n  registry.gitlab.com\/gitlab-org\/modelops\/applied-ml\/code-suggestions\/ai-assist\/model-gateway:v19.4.1<\/code><\/pre>\n<h3>2. Kubernetes (Helm) M\u00fchitl\u0259rind\u0259 Yenil\u0259m\u0259<\/h3>\n<p>Kubernetes klasterl\u0259rind\u0259 GitLab AI Gateway istifad\u0259 ed\u0259n inzibat\u00e7\u0131lar Helm repozitoriyas\u0131n\u0131 yenil\u0259m\u0259li v\u0259 t\u0259tbiqi \u0259n son stabil reliz\u0259 y\u00fcks\u0259ltm\u0259lidirl\u0259r:<\/p>\n<pre><code class=\"language-bash\">helm repo update\nhelm upgrade gitlab-ai-gateway gitlab\/ai-gateway \\\n  --version 19.4.1 \\\n  -n gitlab-ai<\/code><\/pre>\n<h3>3. Giri\u015f Qaydalar\u0131n\u0131n M\u0259hdudla\u015fd\u0131r\u0131lmas\u0131<\/h3>\n<p>Yenil\u0259m\u0259ni d\u0259rhal t\u0259tbiq etm\u0259k m\u00fcmk\u00fcn olmad\u0131qda, riskl\u0259ri minimuma endirm\u0259k m\u0259qs\u0259dil\u0259 AI Gateway xidm\u0259tin\u0259 \u015f\u0259b\u0259k\u0259 s\u0259viyy\u0259sind\u0259 giri\u015f m\u0259hdudla\u015fd\u0131r\u0131lmal\u0131, yaln\u0131z etibarl\u0131 GitLab server IP \u00fcnvanlar\u0131n\u0131n bu servisl\u0259 \u0259laq\u0259 saxlamas\u0131na icaz\u0259 verilm\u0259lidir. \u015e\u00fcbh\u0259li f\u0259rdil\u0259\u015fdirilmi\u015f prompt ax\u0131nlar\u0131n\u0131n istifad\u0259si is\u0259 yama t\u0259tbiq edil\u0259n\u0259 q\u0259d\u0259r m\u00fcv\u0259qq\u0259ti dayand\u0131r\u0131lmal\u0131d\u0131r.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>GitLab AI Gateway-d\u0259 Kritik 9.9 Bal G\u00fcc\u00fcnd\u0259 T\u0259hl\u00fck\u0259sizlik Z\u0259ifliyi: Self-Hosted Serverl\u0259r T\u0259hl\u00fck\u0259 Alt\u0131nda Populyar DevSecOps platformas\u0131 GitLab, \u00f6z serverl\u0259rind\u0259 yerl\u0259\u015fdiril\u0259n (self-hosted) instansiyalarda f\u0259aliyy\u0259t g\u00f6st\u0259r\u0259n AI Gateway komponentind\u0259 a\u015fkar edilmi\u015f kritik t\u0259hl\u00fck\u0259sizlik bo\u015flu\u011fu \u00fc\u00e7\u00fcn t\u0259cili yenil\u0259m\u0259 yay\u0131mlay\u0131b. CVE-2026-90970 identifikatoru il\u0259 qeydiyyata al\u0131nan z\u0259iflik CVSS 3.1 \u015fkalas\u0131 \u00fczr\u0259 9.9 (Kritik) balla qiym\u0259tl\u0259ndirilib. Z\u0259iflik autentifikasiyadan ke\u00e7mi\u015f h\u00fccum\u00e7ulara prompt [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":11227,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-11228","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/bitep.net\/blog\/wp-content\/uploads\/2026\/10\/gitlab-ai-gateway-cve-2026-90970-1791071894547.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bitep.net\/blog\/wp-json\/wp\/v2\/posts\/11228","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bitep.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bitep.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bitep.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bitep.net\/blog\/wp-json\/wp\/v2\/comments?post=11228"}],"version-history":[{"count":0,"href":"https:\/\/bitep.net\/blog\/wp-json\/wp\/v2\/posts\/11228\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bitep.net\/blog\/wp-json\/wp\/v2\/media\/11227"}],"wp:attachment":[{"href":"https:\/\/bitep.net\/blog\/wp-json\/wp\/v2\/media?parent=11228"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bitep.net\/blog\/wp-json\/wp\/v2\/categories?post=11228"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bitep.net\/blog\/wp-json\/wp\/v2\/tags?post=11228"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}