diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md
index cdc354c0fb811a80330ae65fffa9e0633bdaed72..5fac7a555d552b45204310ee44701698a05ae7aa 100644
--- a/doc/api/graphql/reference/index.md
+++ b/doc/api/graphql/reference/index.md
@@ -17690,10 +17690,10 @@ The state of the vulnerability.
 
 | Value | Description |
 | ----- | ----------- |
-| <a id="vulnerabilitystateconfirmed"></a>`CONFIRMED` | Confirmed vulnerability. |
-| <a id="vulnerabilitystatedetected"></a>`DETECTED` | Detected vulnerability. |
-| <a id="vulnerabilitystatedismissed"></a>`DISMISSED` | Dismissed vulnerability. |
-| <a id="vulnerabilitystateresolved"></a>`RESOLVED` | Resolved vulnerability. |
+| <a id="vulnerabilitystateconfirmed"></a>`CONFIRMED` | For details, see [vulnerability status values](https://docs.gitlab.com/ee/user/application_security/vulnerabilities/index.html#vulnerability-status-values). |
+| <a id="vulnerabilitystatedetected"></a>`DETECTED` | For details, see [vulnerability status values](https://docs.gitlab.com/ee/user/application_security/vulnerabilities/index.html#vulnerability-status-values). |
+| <a id="vulnerabilitystatedismissed"></a>`DISMISSED` | For details, see [vulnerability status values](https://docs.gitlab.com/ee/user/application_security/vulnerabilities/index.html#vulnerability-status-values). |
+| <a id="vulnerabilitystateresolved"></a>`RESOLVED` | For details, see [vulnerability status values](https://docs.gitlab.com/ee/user/application_security/vulnerabilities/index.html#vulnerability-status-values). |
 
 ### `WeightWildcardId`
 
diff --git a/doc/user/application_security/vulnerabilities/index.md b/doc/user/application_security/vulnerabilities/index.md
index 7bdc8cc8479330e6000e6b3ce139c3f1d3e86a3d..7fd3c076fe9ea5bf64835297a71c36361b8384d8 100644
--- a/doc/user/application_security/vulnerabilities/index.md
+++ b/doc/user/application_security/vulnerabilities/index.md
@@ -37,7 +37,7 @@ A vulnerability's status can be one of the following:
 
 | Status    | Description |
 |:----------|:------------|
-| Detected  | The default state for a newly discovered vulnerability. |
+| Detected  | The default state for a newly discovered vulnerability. Appears as "Needs triage" in the UI. |
 | Confirmed | A user has seen this vulnerability and confirmed it to be accurate. |
 | Dismissed | A user has seen this vulnerability and dismissed it because it is not accurate or otherwise not to be resolved. |
 | Resolved  | The vulnerability has been fixed or is no longer present. |
diff --git a/ee/app/graphql/types/vulnerability_state_enum.rb b/ee/app/graphql/types/vulnerability_state_enum.rb
index 63d222a2584c88457283abc71c9f2358dcd1b72b..032111aef2d54a7e32de5d8dfa5aa3844532f8ca 100644
--- a/ee/app/graphql/types/vulnerability_state_enum.rb
+++ b/ee/app/graphql/types/vulnerability_state_enum.rb
@@ -5,8 +5,13 @@ class VulnerabilityStateEnum < BaseEnum
     graphql_name 'VulnerabilityState'
     description 'The state of the vulnerability'
 
-    ::Vulnerability.states.keys.each do |state|
-      value state.to_s.upcase, value: state.to_s, description: "#{state.to_s.titleize} vulnerability"
-    end
+    # FIXME: https://gitlab.com/gitlab-org/gitlab/-/issues/350109
+    DESCRIPTION_TEXT = 'For details, see [vulnerability status values]' \
+                       '(https://docs.gitlab.com/ee/user/application_security/vulnerabilities/index.html#vulnerability-status-values).'
+
+    value 'CONFIRMED', value: 'confirmed', description: DESCRIPTION_TEXT
+    value 'DETECTED', value: 'detected', description: DESCRIPTION_TEXT
+    value 'DISMISSED', value: 'dismissed', description: DESCRIPTION_TEXT
+    value 'RESOLVED', value: 'resolved', description: DESCRIPTION_TEXT
   end
 end