{"id":55934,"date":"2025-06-29T15:31:47","date_gmt":"2025-06-29T15:31:47","guid":{"rendered":""},"modified":"2025-10-21T10:43:13","modified_gmt":"2025-10-21T16:43:13","slug":"cve-2024-4994-critical-csrf-vulnerability-in-gitlab-s-graphql-api-leading-to-arbitrary-graphql-mutations","status":"publish","type":"post","link":"https:\/\/www.ameeba.com\/blog\/cve-2024-4994-critical-csrf-vulnerability-in-gitlab-s-graphql-api-leading-to-arbitrary-graphql-mutations\/","title":{"rendered":"<strong>CVE-2024-4994: Critical CSRF Vulnerability in GitLab&#8217;s GraphQL API Leading to Arbitrary GraphQL Mutations<\/strong>"},"content":{"rendered":"<p><strong>Overview<\/strong><\/p>\n<p>GitLab CE\/EE, the open-source web-based DevOps lifecycle tool, has been hit by a critical vulnerability, tagged as CVE-2024-4994. This vulnerability affects all versions from 16.1.0 before 16.11.5, all versions starting from 17.0 before 17.0.3, and all versions starting from 17.1.0 before 17.1.1. The <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-6162-critical-buffer-overflow-vulnerability-in-totolink-ex1200t-http-post-request-handler\/\"  data-wpil-monitor-id=\"62287\">vulnerability allows for a Cross-Site Request<\/a> Forgery (CSRF) attack on GitLab&#8217;s GraphQL API, leading to the execution of arbitrary GraphQL mutations. This could <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-49415-path-traversal-vulnerability-in-fw-gallery-with-potential-for-system-compromise\/\"  data-wpil-monitor-id=\"62415\">potentially compromise the system<\/a> or lead to data leakage, affecting companies and developers using the affected versions of GitLab CE\/EE. It is a <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-8028-critical-vulnerability-in-firefox-and-thunderbird-due-to-incorrect-computation-of-branch-address\/\"  data-wpil-monitor-id=\"73816\">critical concern due<\/a> to its high CVSS Severity Score of 8.1.<\/p>\n<p><strong>Vulnerability Summary<\/strong><\/p>\n<p>CVE ID: CVE-2024-4994<br \/>\nSeverity: Critical (CVSS: 8.1)<br \/>\nAttack Vector: Network<br \/>\nPrivileges Required: Low<br \/>\nUser Interaction: Required<br \/>\nImpact: <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-32878-critical-vulnerability-in-coros-pace-3-devices-leads-to-potential-system-compromise\/\"  data-wpil-monitor-id=\"63184\">Potential system<\/a> compromise or data leakage<\/p>\n<p><strong>Affected Products<\/strong><\/p><div id=\"ameeb-789440103\" class=\"ameeb-content-2 ameeb-entity-placement\"><div style=\"border-left: 4px solid #555; padding-left: 20px; margin: 48px 0; font-family: Roboto, sans-serif; color: #ffffff; line-height: 1.6; max-width: 700px;\">\r\n  <h2 style=\"margin-top: 0; font-size: 20px; font-weight: 600; display: flex; align-items: center;\">\r\n    <a href=\"https:\/\/www.ameeba.com\/chat\" style=\"display: inline-flex; align-items: center; margin-right: 8px;\">\r\n      <img decoding=\"async\" src=\"https:\/\/www.ameeba.com\/blog\/wp-content\/uploads\/2025\/10\/Best-App-icon-Ameeba.png\" alt=\"Ameeba Chat Icon\" style=\"width: 40px; height: 40px;\" \/>\r\n    <\/a>\r\n    A new way to communicate\r\n  <\/h2>\r\n\r\n  <p style=\"margin-bottom: 12px;\">\r\n    Ameeba Chat is built on encrypted identity, not personal profiles.\r\n  <\/p>\r\n\r\n  <p style=\"margin-bottom: 16px;\">\r\n    Message, call, share files, and coordinate with identities kept separate.\r\n  <\/p>\r\n\r\n  <ul style=\"list-style: none; padding-left: 0; margin-bottom: 20px;\">\r\n    <li>\u2022 Encrypted identity<\/li>\r\n    <li>\u2022 Ameeba Chat authenticates access<\/li>\r\n    <li>\u2022 Aliases and categories<\/li>\r\n    <li>\u2022 End-to-end encrypted chat, calls, and files<\/li>\r\n    <li>\u2022 Secure notes for sensitive information<\/li>\r\n  <\/ul>\r\n\r\n  <p style=\"font-style: italic; font-weight: 600; margin-bottom: 24px;\">\r\n    Private communication, rethought.\r\n  <\/p>\r\n\r\n  <div style=\"display: flex; flex-wrap: wrap; gap: 12px;\">\r\n    <a href=\"https:\/\/www.ameeba.com\/chat\/download\" style=\"background-color: #ffffff; color: #000000; padding: 10px 20px; text-decoration: none; border-radius: 6px; font-weight: 500;\">Download Ameeba Chat<\/a>\r\n    <a href=\"https:\/\/www.ameeba.com\/chat\" style=\"border: 1px solid #ffffff; color: #ffffff; padding: 10px 20px; text-decoration: none; border-radius: 6px; font-weight: 500;\">Learn More<\/a>\r\n  <\/div>\r\n<\/div>\r\n<\/div>\n<p>Product | Affected Versions<\/p>\n<p><a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-7734-critical-gitlab-ce-ee-vulnerability-allows-unauthorized-actions-by-attackers\/\"  data-wpil-monitor-id=\"79510\">GitLab CE\/EE<\/a> | 16.1.0 before 16.11.5<br \/>\n<a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-6454-authenticated-user-exploit-in-gitlab-ce-ee-through-proxy-environments\/\"  data-wpil-monitor-id=\"90782\">GitLab CE\/EE<\/a> | 17.0.0 before 17.0.3<br \/>\nGitLab CE\/EE | 17.1.0 before 17.1.1<\/p>\n<p><strong>How the Exploit Works<\/strong><\/p>\n<p>The exploit works by taking advantage of GitLab&#8217;s inadequate anti-CSRF controls in its GraphQL API. An attacker can trick a victim into visiting a malicious web page or clicking a link, which then sends a forged request to the <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-5121-critical-security-vulnerability-in-gitlab-ce-ee\/\"  data-wpil-monitor-id=\"63731\">vulnerable GitLab<\/a> instance. The server, failing to identify this request as coming from an untrusted source, processes the request as though it originated from the victim, leading to the <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-49132-critical-arbitrary-code-execution-vulnerability-in-pterodactyl-game-server-management-panel\/\"  data-wpil-monitor-id=\"63268\">execution of arbitrary<\/a> GraphQL mutations. This could result in <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-5071-unauthorized-access-and-data-modification-vulnerability-in-ai-engine-wordpress-plugin\/\"  data-wpil-monitor-id=\"62843\">unauthorized changes to data<\/a>, potential system compromise, or data leakage.<\/p>\n<p><strong>Conceptual Example Code<\/strong><\/p><div id=\"ameeb-1709828523\" class=\"ameeb-content ameeb-entity-placement\"><div class=\"poptin-embedded\" data-id=\"f6b387694f681\"><\/div>\r\n\r\n\r\n\r\n\r\n\r\n<\/div>\n<p>Conceptually, the exploit can be performed using a malicious HTTP request, which might look something like this:<\/p>\n<pre><code class=\"\" data-line=\"\">POST \/api\/graphql HTTP\/1.1\nHost: victim-gitlab-instance.com\nContent-Type: application\/json\nCookie: [Victim&#039;s GitLab session cookie]\n{\n&quot;query&quot;: &quot;mutation { someArbitraryMutation(...) { ... } }&quot;\n}<\/code><\/pre>\n<p>In the above example, &#8220;someArbitraryMutation&#8221; would be <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-41668-critical-file-replacement-leading-to-unauthorized-access\/\"  data-wpil-monitor-id=\"66287\">replaced with an actual GraphQL mutation intended to perform unauthorized<\/a> actions on the victim&#8217;s GitLab instance.<\/p>\n<p><strong>Mitigation Guidance<\/strong><\/p>\n<p>The best way to <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-39486-rankie-sql-injection-vulnerability-and-mitigation-measures\/\"  data-wpil-monitor-id=\"62416\">mitigate this vulnerability<\/a> is by applying the vendor patch. GitLab has released updates to fix this <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2015-0843-critical-buffer-overflow-vulnerability-in-yubiserver-before-version-0-6\/\"  data-wpil-monitor-id=\"65147\">vulnerability in the affected versions<\/a>. Users are advised to upgrade to the latest version available immediately. If upgrading is not immediately possible, using a Web Application Firewall (WAF) or Intrusion Detection System (IDS) can provide temporary mitigation by blocking or alerting on suspicious requests. However, this is a temporary <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-5310-remote-code-execution-vulnerability-in-dover-fueling-solutions-progauge-maglink-lx-consoles\/\"  data-wpil-monitor-id=\"65546\">solution and does not address the underlying vulnerability<\/a>. Therefore, it is strongly advised to apply the vendor patch as soon as possible.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Overview GitLab CE\/EE, the open-source web-based DevOps lifecycle tool, has been hit by a critical vulnerability, tagged as CVE-2024-4994. This vulnerability affects all versions from 16.1.0 before 16.11.5, all versions starting from 17.0 before 17.0.3, and all versions starting from 17.1.0 before 17.1.1. The vulnerability allows for a Cross-Site Request Forgery (CSRF) attack on GitLab&#8217;s [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"footnotes":""},"categories":[1],"tags":[],"vendor":[102],"product":[],"attack_vector":[90],"asset_type":[],"severity":[],"exploit_status":[],"class_list":["post-55934","post","type-post","status-publish","format-standard","hentry","category-uncategorized","vendor-gitlab","attack_vector-csrf"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/posts\/55934","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/comments?post=55934"}],"version-history":[{"count":12,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/posts\/55934\/revisions"}],"predecessor-version":[{"id":83727,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/posts\/55934\/revisions\/83727"}],"wp:attachment":[{"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/media?parent=55934"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/categories?post=55934"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/tags?post=55934"},{"taxonomy":"vendor","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/vendor?post=55934"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/product?post=55934"},{"taxonomy":"attack_vector","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/attack_vector?post=55934"},{"taxonomy":"asset_type","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/asset_type?post=55934"},{"taxonomy":"severity","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/severity?post=55934"},{"taxonomy":"exploit_status","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/exploit_status?post=55934"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}