GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

GHSA-MX5J-MP4F-G8JG

Vulnerability from github – Published: 2026-07-31 19:38 – Updated: 2026-07-31 19:38
VLAI
Summary
Savon::Model evaluates WSDL operation names as Ruby source
Details

Impact

Savon::Model generated SOAP operation methods by interpolating operation names into Ruby source passed to module_eval. An attacker who can control the operation names of a WSDL, can inject Ruby code that executes in the application process. This affects only the .all_operations class method provided by Savon::Model to automatically register all operations provided by the WSDL. Configuring Savon::Model with trusted operation names via .operations is safe.

Patches

Patched in Savon 2.17.2.

Users should upgrade to 2.17.2 or later.

Workarounds

Avoid .all_operations for untrusted WSDL documents. Use .operations with trusted operation names instead.

Show details on source website

{
  "affected": [
    {
      "package": {
        "ecosystem": "RubyGems",
        "name": "savon"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0.9.8"
            },
            {
              "fixed": "2.17.2"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "aliases": [
    "CVE-2026-53510"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-94"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2026-07-31T19:38:25Z",
    "nvd_published_at": null,
    "severity": "HIGH"
  },
  "details": "### Impact\n\n`Savon::Model` generated SOAP operation methods by interpolating operation names into Ruby source passed to `module_eval`. An attacker who can control the operation names of a WSDL, can inject Ruby code that executes in the application process. This affects only the `.all_operations` class method provided by `Savon::Model` to automatically register all operations provided by the WSDL. Configuring `Savon::Model` with trusted operation names via `.operations` is safe.\n\n### Patches\n\nPatched in Savon 2.17.2.\n\nUsers should upgrade to 2.17.2 or later.\n\n### Workarounds\n\nAvoid `.all_operations` for untrusted WSDL documents. Use `.operations` with trusted operation names instead.",
  "id": "GHSA-mx5j-mp4f-g8jg",
  "modified": "2026-07-31T19:38:25Z",
  "published": "2026-07-31T19:38:25Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com/savonrb/savon/security/advisories/GHSA-mx5j-mp4f-g8jg"
    },
    {
      "type": "WEB",
      "url": "https://github.com/savonrb/savon/commit/8f22eb543e7436f6247172c9be47e22792d375e9"
    },
    {
      "type": "WEB",
      "url": "https://github.com/rubysec/ruby-advisory-db/blob/master/gems/savon/CVE-2026-53510.yml"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/savonrb/savon"
    },
    {
      "type": "WEB",
      "url": "https://github.com/savonrb/savon/releases/tag/v2.17.2"
    },
    {
      "type": "WEB",
      "url": "https://www.cve.org/CVERecord/SearchResults?query=CVE-2026-53510"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
      "type": "CVSS_V3"
    }
  ],
  "summary": "Savon::Model evaluates WSDL operation names as Ruby source"
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…