GHSA-F5WW-CQ3M-Q3G7

Vulnerability from github – Published: 2023-07-06 19:45 – Updated: 2023-07-06 19:45
VLAI
Summary
Sanitize vulnerable to Cross-site Scripting via insufficient neutralization of `style` element content
Details

Impact

Using carefully crafted input, an attacker may be able to sneak arbitrary HTML and CSS through Sanitize >= 3.0.0, < 6.0.2 when Sanitize is configured to use the built-in "relaxed" config or when using a custom config that allows style elements and one or more CSS at-rules. This could result in XSS (cross-site scripting) or other undesired behavior when the malicious HTML and CSS are rendered in a browser.

Patches

Sanitize >= 6.0.2 performs additional escaping of CSS in style element content, which fixes this issue.

Workarounds

Users who are unable to upgrade can prevent this issue by using a Sanitize config that doesn't allow style elements, using a Sanitize config that doesn't allow CSS at-rules, or by manually escaping the character sequence </ as <\/ in style element content.

Credit

This issue was found by @cure53 during an audit of a project that uses Sanitize and was reported by one of that project's maintainers. Thank you!

Show details on source website

{
  "affected": [
    {
      "package": {
        "ecosystem": "RubyGems",
        "name": "sanitize"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "3.0.0"
            },
            {
              "fixed": "6.0.2"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "aliases": [
    "CVE-2023-36823"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-79"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2023-07-06T19:45:44Z",
    "nvd_published_at": "2023-07-06T16:15:10Z",
    "severity": "HIGH"
  },
  "details": "### Impact\n\nUsing carefully crafted input, an attacker may be able to sneak arbitrary HTML and CSS through Sanitize `\u003e= 3.0.0, \u003c 6.0.2` when Sanitize is configured to use the built-in \"relaxed\" config or when using a custom config that allows `style` elements and one or more CSS at-rules. This could result in XSS (cross-site scripting) or other undesired behavior when the malicious HTML and CSS are rendered in a browser.\n\n### Patches\n\nSanitize `\u003e= 6.0.2` performs additional escaping of CSS in `style` element content, which fixes this issue.\n\n### Workarounds\n\nUsers who are unable to upgrade can prevent this issue by using a Sanitize config that doesn\u0027t allow `style` elements, using a Sanitize config that doesn\u0027t allow CSS at-rules, or by manually escaping the character sequence `\u003c/` as `\u003c\\/` in `style` element content.\n\n### Credit\n\nThis issue was found by @cure53 during an audit of a project that uses Sanitize and was reported by one of that project\u0027s maintainers. Thank you!",
  "id": "GHSA-f5ww-cq3m-q3g7",
  "modified": "2023-07-06T19:45:44Z",
  "published": "2023-07-06T19:45:44Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com/rgrove/sanitize/security/advisories/GHSA-f5ww-cq3m-q3g7"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2023-36823"
    },
    {
      "type": "WEB",
      "url": "https://github.com/rgrove/sanitize/commit/76ed46e6dc70820f38efe27de8dabd54dddb5220"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/rgrove/sanitize"
    },
    {
      "type": "WEB",
      "url": "https://github.com/rgrove/sanitize/releases/tag/v6.0.2"
    },
    {
      "type": "WEB",
      "url": "https://github.com/rubysec/ruby-advisory-db/blob/master/gems/sanitize/CVE-2023-36823.yml"
    },
    {
      "type": "WEB",
      "url": "https://lists.debian.org/debian-lts-announce/2023/11/msg00008.html"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L",
      "type": "CVSS_V3"
    }
  ],
  "summary": "Sanitize vulnerable to Cross-site Scripting via insufficient neutralization of `style` element content"
}



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…

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…