CVE-2025-27407
Vulnerability from cvelistv5
Published
2025-03-12 18:15
Modified
2025-03-12 20:47
Severity ?
Summary
graphql-ruby is a Ruby implementation of GraphQL. Starting in version 1.11.5 and prior to versions 1.11.8, 1.12.25, 1.13.24, 2.0.32, 2.1.14, 2.2.17, and 2.3.21, loading a malicious schema definition in `GraphQL::Schema.from_introspection` (or `GraphQL::Schema::Loader.load`) can result in remote code execution. Any system which loads a schema by JSON from an untrusted source is vulnerable, including those that use GraphQL::Client to load external schemas via GraphQL introspection. Versions 1.11.8, 1.12.25, 1.13.24, 2.0.32, 2.1.14, 2.2.17, and 2.3.21 contain a patch for the issue.
Impacted products
Vendor Product Version
rmosolgo graphql-ruby Version: >= 1.11.5, < 1.11.8
Version: >= 1.12.0, < 1.12.25
Version: >= 1.13.0, < 1.13.24
Version: >= 2.0.0, < 2.0.32
Version: >= 2.1.0, < 2.1.14
Version: >= 2.2.0, < 2.2.17
Version: >= 2.3.0, < 2.3.21
Create a notification for this product.
Show details on NVD website


{
   containers: {
      adp: [
         {
            metrics: [
               {
                  other: {
                     content: {
                        id: "CVE-2025-27407",
                        options: [
                           {
                              Exploitation: "none",
                           },
                           {
                              Automatable: "no",
                           },
                           {
                              "Technical Impact": "total",
                           },
                        ],
                        role: "CISA Coordinator",
                        timestamp: "2025-03-12T18:41:38.718466Z",
                        version: "2.0.3",
                     },
                     type: "ssvc",
                  },
               },
            ],
            providerMetadata: {
               dateUpdated: "2025-03-12T18:42:08.976Z",
               orgId: "134c704f-9b21-4f2e-91b3-4a467353bcc0",
               shortName: "CISA-ADP",
            },
            title: "CISA ADP Vulnrichment",
         },
      ],
      cna: {
         affected: [
            {
               product: "graphql-ruby",
               vendor: "rmosolgo",
               versions: [
                  {
                     status: "affected",
                     version: ">= 1.11.5, < 1.11.8",
                  },
                  {
                     status: "affected",
                     version: ">= 1.12.0, < 1.12.25",
                  },
                  {
                     status: "affected",
                     version: ">= 1.13.0, < 1.13.24",
                  },
                  {
                     status: "affected",
                     version: ">= 2.0.0, < 2.0.32",
                  },
                  {
                     status: "affected",
                     version: ">= 2.1.0, < 2.1.14",
                  },
                  {
                     status: "affected",
                     version: ">= 2.2.0, < 2.2.17",
                  },
                  {
                     status: "affected",
                     version: ">= 2.3.0, < 2.3.21",
                  },
               ],
            },
         ],
         descriptions: [
            {
               lang: "en",
               value: "graphql-ruby is a Ruby implementation of GraphQL. Starting in version 1.11.5 and prior to versions 1.11.8, 1.12.25, 1.13.24, 2.0.32, 2.1.14, 2.2.17, and 2.3.21, loading a malicious schema definition in `GraphQL::Schema.from_introspection` (or `GraphQL::Schema::Loader.load`) can result in remote code execution. Any system which loads a schema by JSON from an untrusted source is vulnerable, including those that use GraphQL::Client to load external schemas via GraphQL introspection. Versions 1.11.8, 1.12.25, 1.13.24, 2.0.32, 2.1.14, 2.2.17, and 2.3.21 contain a patch for the issue.",
            },
         ],
         metrics: [
            {
               cvssV3_1: {
                  attackComplexity: "HIGH",
                  attackVector: "NETWORK",
                  availabilityImpact: "HIGH",
                  baseScore: 9.1,
                  baseSeverity: "CRITICAL",
                  confidentialityImpact: "HIGH",
                  integrityImpact: "HIGH",
                  privilegesRequired: "NONE",
                  scope: "CHANGED",
                  userInteraction: "NONE",
                  vectorString: "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H",
                  version: "3.1",
               },
            },
         ],
         problemTypes: [
            {
               descriptions: [
                  {
                     cweId: "CWE-94",
                     description: "CWE-94: Improper Control of Generation of Code ('Code Injection')",
                     lang: "en",
                     type: "CWE",
                  },
               ],
            },
         ],
         providerMetadata: {
            dateUpdated: "2025-03-12T20:47:41.948Z",
            orgId: "a0819718-46f1-4df5-94e2-005712e83aaa",
            shortName: "GitHub_M",
         },
         references: [
            {
               name: "https://github.com/rmosolgo/graphql-ruby/security/advisories/GHSA-q92j-grw3-h492",
               tags: [
                  "x_refsource_CONFIRM",
               ],
               url: "https://github.com/rmosolgo/graphql-ruby/security/advisories/GHSA-q92j-grw3-h492",
            },
            {
               name: "https://github.com/rmosolgo/graphql-ruby/commit/28233b16c0eb9d0fb7808f4980e061dc7507c4cd",
               tags: [
                  "x_refsource_MISC",
               ],
               url: "https://github.com/rmosolgo/graphql-ruby/commit/28233b16c0eb9d0fb7808f4980e061dc7507c4cd",
            },
            {
               name: "https://github.com/rmosolgo/graphql-ruby/commit/2d2f4ed1f79472f8eed29c864b039649e1de238f",
               tags: [
                  "x_refsource_MISC",
               ],
               url: "https://github.com/rmosolgo/graphql-ruby/commit/2d2f4ed1f79472f8eed29c864b039649e1de238f",
            },
            {
               name: "https://github.com/rmosolgo/graphql-ruby/commit/5c5a7b9a9bdce143be048074aea50edb7bb747be",
               tags: [
                  "x_refsource_MISC",
               ],
               url: "https://github.com/rmosolgo/graphql-ruby/commit/5c5a7b9a9bdce143be048074aea50edb7bb747be",
            },
            {
               name: "https://github.com/rmosolgo/graphql-ruby/commit/6eca16b9fa553aa957099a30dbde64ddcdac52ca",
               tags: [
                  "x_refsource_MISC",
               ],
               url: "https://github.com/rmosolgo/graphql-ruby/commit/6eca16b9fa553aa957099a30dbde64ddcdac52ca",
            },
            {
               name: "https://github.com/rmosolgo/graphql-ruby/commit/d0963289e0dab4ea893bbecf12bb7d89294957bb",
               tags: [
                  "x_refsource_MISC",
               ],
               url: "https://github.com/rmosolgo/graphql-ruby/commit/d0963289e0dab4ea893bbecf12bb7d89294957bb",
            },
            {
               name: "https://github.com/rmosolgo/graphql-ruby/commit/d1117ae0361d9ed67e0795b07f5c3e98e62f3c7c",
               tags: [
                  "x_refsource_MISC",
               ],
               url: "https://github.com/rmosolgo/graphql-ruby/commit/d1117ae0361d9ed67e0795b07f5c3e98e62f3c7c",
            },
            {
               name: "https://github.com/rmosolgo/graphql-ruby/commit/e3b33ace05391da2871c75ab4d3b66e29133b367",
               tags: [
                  "x_refsource_MISC",
               ],
               url: "https://github.com/rmosolgo/graphql-ruby/commit/e3b33ace05391da2871c75ab4d3b66e29133b367",
            },
            {
               name: "https://about.gitlab.com/releases/2025/03/12/patch-release-gitlab-17-9-2-released",
               tags: [
                  "x_refsource_MISC",
               ],
               url: "https://about.gitlab.com/releases/2025/03/12/patch-release-gitlab-17-9-2-released",
            },
            {
               name: "https://github.com/github-community-projects/graphql-client",
               tags: [
                  "x_refsource_MISC",
               ],
               url: "https://github.com/github-community-projects/graphql-client",
            },
         ],
         source: {
            advisory: "GHSA-q92j-grw3-h492",
            discovery: "UNKNOWN",
         },
         title: "Remote code execution when loading a crafted GraphQL schema",
      },
   },
   cveMetadata: {
      assignerOrgId: "a0819718-46f1-4df5-94e2-005712e83aaa",
      assignerShortName: "GitHub_M",
      cveId: "CVE-2025-27407",
      datePublished: "2025-03-12T18:15:57.957Z",
      dateReserved: "2025-02-24T15:51:17.268Z",
      dateUpdated: "2025-03-12T20:47:41.948Z",
      state: "PUBLISHED",
   },
   dataType: "CVE_RECORD",
   dataVersion: "5.1",
   "vulnerability-lookup:meta": {
      nvd: "{\"cve\":{\"id\":\"CVE-2025-27407\",\"sourceIdentifier\":\"security-advisories@github.com\",\"published\":\"2025-03-12T19:15:40.597\",\"lastModified\":\"2025-03-12T21:15:42.560\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"graphql-ruby is a Ruby implementation of GraphQL. Starting in version 1.11.5 and prior to versions 1.11.8, 1.12.25, 1.13.24, 2.0.32, 2.1.14, 2.2.17, and 2.3.21, loading a malicious schema definition in `GraphQL::Schema.from_introspection` (or `GraphQL::Schema::Loader.load`) can result in remote code execution. Any system which loads a schema by JSON from an untrusted source is vulnerable, including those that use GraphQL::Client to load external schemas via GraphQL introspection. Versions 1.11.8, 1.12.25, 1.13.24, 2.0.32, 2.1.14, 2.2.17, and 2.3.21 contain a patch for the issue.\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H\",\"baseScore\":9.0,\"baseSeverity\":\"CRITICAL\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"HIGH\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"CHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":2.2,\"impactScore\":6.0}]},\"weaknesses\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-94\"}]}],\"references\":[{\"url\":\"https://about.gitlab.com/releases/2025/03/12/patch-release-gitlab-17-9-2-released\",\"source\":\"security-advisories@github.com\"},{\"url\":\"https://github.com/github-community-projects/graphql-client\",\"source\":\"security-advisories@github.com\"},{\"url\":\"https://github.com/rmosolgo/graphql-ruby/commit/28233b16c0eb9d0fb7808f4980e061dc7507c4cd\",\"source\":\"security-advisories@github.com\"},{\"url\":\"https://github.com/rmosolgo/graphql-ruby/commit/2d2f4ed1f79472f8eed29c864b039649e1de238f\",\"source\":\"security-advisories@github.com\"},{\"url\":\"https://github.com/rmosolgo/graphql-ruby/commit/5c5a7b9a9bdce143be048074aea50edb7bb747be\",\"source\":\"security-advisories@github.com\"},{\"url\":\"https://github.com/rmosolgo/graphql-ruby/commit/6eca16b9fa553aa957099a30dbde64ddcdac52ca\",\"source\":\"security-advisories@github.com\"},{\"url\":\"https://github.com/rmosolgo/graphql-ruby/commit/d0963289e0dab4ea893bbecf12bb7d89294957bb\",\"source\":\"security-advisories@github.com\"},{\"url\":\"https://github.com/rmosolgo/graphql-ruby/commit/d1117ae0361d9ed67e0795b07f5c3e98e62f3c7c\",\"source\":\"security-advisories@github.com\"},{\"url\":\"https://github.com/rmosolgo/graphql-ruby/commit/e3b33ace05391da2871c75ab4d3b66e29133b367\",\"source\":\"security-advisories@github.com\"},{\"url\":\"https://github.com/rmosolgo/graphql-ruby/security/advisories/GHSA-q92j-grw3-h492\",\"source\":\"security-advisories@github.com\"}]}}",
      vulnrichment: {
         containers: "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2025-27407\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"total\"}], \"version\": \"2.0.3\", \"timestamp\": \"2025-03-12T18:41:38.718466Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2025-03-12T18:41:44.359Z\"}}], \"cna\": {\"title\": \"Remote code execution when loading a crafted GraphQL schema\", \"source\": {\"advisory\": \"GHSA-q92j-grw3-h492\", \"discovery\": \"UNKNOWN\"}, \"metrics\": [{\"cvssV3_1\": {\"scope\": \"CHANGED\", \"version\": \"3.1\", \"baseScore\": 9.1, \"attackVector\": \"NETWORK\", \"baseSeverity\": \"CRITICAL\", \"vectorString\": \"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H\", \"integrityImpact\": \"HIGH\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"HIGH\", \"availabilityImpact\": \"HIGH\", \"privilegesRequired\": \"NONE\", \"confidentialityImpact\": \"HIGH\"}}], \"affected\": [{\"vendor\": \"rmosolgo\", \"product\": \"graphql-ruby\", \"versions\": [{\"status\": \"affected\", \"version\": \">= 1.11.5, < 1.11.8\"}, {\"status\": \"affected\", \"version\": \">= 1.12.0, < 1.12.25\"}, {\"status\": \"affected\", \"version\": \">= 1.13.0, < 1.13.24\"}, {\"status\": \"affected\", \"version\": \">= 2.0.0, < 2.0.32\"}, {\"status\": \"affected\", \"version\": \">= 2.1.0, < 2.1.14\"}, {\"status\": \"affected\", \"version\": \">= 2.2.0, < 2.2.17\"}, {\"status\": \"affected\", \"version\": \">= 2.3.0, < 2.3.21\"}]}], \"references\": [{\"url\": \"https://github.com/rmosolgo/graphql-ruby/security/advisories/GHSA-q92j-grw3-h492\", \"name\": \"https://github.com/rmosolgo/graphql-ruby/security/advisories/GHSA-q92j-grw3-h492\", \"tags\": [\"x_refsource_CONFIRM\"]}, {\"url\": \"https://github.com/rmosolgo/graphql-ruby/commit/28233b16c0eb9d0fb7808f4980e061dc7507c4cd\", \"name\": \"https://github.com/rmosolgo/graphql-ruby/commit/28233b16c0eb9d0fb7808f4980e061dc7507c4cd\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/rmosolgo/graphql-ruby/commit/2d2f4ed1f79472f8eed29c864b039649e1de238f\", \"name\": \"https://github.com/rmosolgo/graphql-ruby/commit/2d2f4ed1f79472f8eed29c864b039649e1de238f\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/rmosolgo/graphql-ruby/commit/5c5a7b9a9bdce143be048074aea50edb7bb747be\", \"name\": \"https://github.com/rmosolgo/graphql-ruby/commit/5c5a7b9a9bdce143be048074aea50edb7bb747be\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/rmosolgo/graphql-ruby/commit/6eca16b9fa553aa957099a30dbde64ddcdac52ca\", \"name\": \"https://github.com/rmosolgo/graphql-ruby/commit/6eca16b9fa553aa957099a30dbde64ddcdac52ca\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/rmosolgo/graphql-ruby/commit/d0963289e0dab4ea893bbecf12bb7d89294957bb\", \"name\": \"https://github.com/rmosolgo/graphql-ruby/commit/d0963289e0dab4ea893bbecf12bb7d89294957bb\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/rmosolgo/graphql-ruby/commit/d1117ae0361d9ed67e0795b07f5c3e98e62f3c7c\", \"name\": \"https://github.com/rmosolgo/graphql-ruby/commit/d1117ae0361d9ed67e0795b07f5c3e98e62f3c7c\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/rmosolgo/graphql-ruby/commit/e3b33ace05391da2871c75ab4d3b66e29133b367\", \"name\": \"https://github.com/rmosolgo/graphql-ruby/commit/e3b33ace05391da2871c75ab4d3b66e29133b367\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://about.gitlab.com/releases/2025/03/12/patch-release-gitlab-17-9-2-released\", \"name\": \"https://about.gitlab.com/releases/2025/03/12/patch-release-gitlab-17-9-2-released\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/github-community-projects/graphql-client\", \"name\": \"https://github.com/github-community-projects/graphql-client\", \"tags\": [\"x_refsource_MISC\"]}], \"descriptions\": [{\"lang\": \"en\", \"value\": \"graphql-ruby is a Ruby implementation of GraphQL. Starting in version 1.11.5 and prior to versions 1.11.8, 1.12.25, 1.13.24, 2.0.32, 2.1.14, 2.2.17, and 2.3.21, loading a malicious schema definition in `GraphQL::Schema.from_introspection` (or `GraphQL::Schema::Loader.load`) can result in remote code execution. Any system which loads a schema by JSON from an untrusted source is vulnerable, including those that use GraphQL::Client to load external schemas via GraphQL introspection. Versions 1.11.8, 1.12.25, 1.13.24, 2.0.32, 2.1.14, 2.2.17, and 2.3.21 contain a patch for the issue.\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-94\", \"description\": \"CWE-94: Improper Control of Generation of Code ('Code Injection')\"}]}], \"providerMetadata\": {\"orgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"shortName\": \"GitHub_M\", \"dateUpdated\": \"2025-03-12T20:47:41.948Z\"}}}",
         cveMetadata: "{\"cveId\": \"CVE-2025-27407\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2025-03-12T20:47:41.948Z\", \"dateReserved\": \"2025-02-24T15:51:17.268Z\", \"assignerOrgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"datePublished\": \"2025-03-12T18:15:57.957Z\", \"assignerShortName\": \"GitHub_M\"}",
         dataType: "CVE_RECORD",
         dataVersion: "5.1",
      },
   },
}


Log in or create an account to share your comment.

Security Advisory comment format.

This schema specifies the format of a comment related to a security advisory.

UUIDv4 of the comment
UUIDv4 of the Vulnerability-Lookup instance
When the comment was created originally
When the comment was last updated
Title of the comment
Description of the comment
The identifier of the vulnerability (CVE ID, GHSA-ID, PYSEC ID, etc.).



Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.