vciy

Rails, cross-site scripting: 18 records, one defect family

Rails has been reported 18 separate times for the same kind of mistake, CWE-79, between 2018-03-30 and 2026-08-13. A defect family is our own grouping of the CVE corpus: every record naming one product and one weakness class, collected so a repeat is visible as a repeat. No public source publishes this, and what this page counts is how often this one product has gone wrong in this one way.

What this page is, and what it is not

The records are public. This grouping is not, and this one took more than a lookup. Every record here carries CWE-79, which matches exactly. The product name does not: the authorities wrote it 4 different ways, and no text match joins those strings, so a search for any one spelling finds a fraction of what exists and gives no sign the rest is there. Our own embedding, pro@dim2000, read those 4 groups, of 10, 4, 2, 2 records, and found they name one product. That is how 18 records no public source connects came to be on one page, and it is the part you cannot look up. Every spelling stays printed beside its own records, because a judgement you cannot inspect is a judgement you should not cite, and if one of them is a different product this family is wrong and its count is wrong with it.

One record is an incident. 18 filings, between 2018-03-30 and 2026-08-13, all landing on the same weakness class in the same product, is a habit in what gets reported here, and a habit is something you can plan around. This is what we held on 2026-09-20.

A repeat is evidence about where to look. If you are reviewing Rails, the records below say which mistake has already been found more than once, which is the cheapest place a reviewer can start. If you are asking the vendor a question, a count under one weakness class is a better question than any single record is.

What this page cannot tell you is decided by what was joined. A product name and a weakness class settled membership, so those two values are the whole of what the page asserts. Records here may sit in the same line of code or in unrelated parts of the product, and we hold no value that separates those cases. A fixed version named in one record closes that record and says nothing about the others. And nothing here describes anyone's systems, because no value in this family connects a product name to an installation.

CVE-2018-3741CVE-2022-23518CVE-2022-23519CVE-2022-23520CVE-2024-53985CVE-2024-53986CVE-2024-53987CVE-2024-53988CVE-2024-53989CVE-2026-73648CVE-2011-1497CVE-2024-26143CVE-2024-32464CVE-2024-54133CVE-2020-15169CVE-2026-33168CVE-2023-28120CVE-2026-33170
Most of this family was announced at once: 10 of the 18 records arrived in a single group. The other 8 records arrived in 3 separate groups, each with its own dates.

The names the authorities used

4 different ways, each written by whoever filed the records under it. They are printed as written rather than tidied, because the tidying is the step that would hide what was merged.

rails
rails actionview
rails activesupport
rails-html-sanitizer

These records name more than one weakness class each. All 17 carry CWE-79, which is what this family was grouped on, and one of them also names CWE-80, improper neutralization of script-related HTML tags in a web page. The roster below shows what each record names; both readings are the record's own, filed together by the same authority.

Family membership: computed, pro@dim2000

What pulled them together

These records reached one family from 4 separate groups. A join on the product name alone could not see they were the same, because the authorities wrote the product and its versions differently each time. The grouping was computed by pro@dim2000.

10 recordsCVE-2018-3741, CVE-2022-23518, CVE-2022-23519, CVE-2022-23520, CVE-2024-53985, CVE-2024-53986, CVE-2024-53987, CVE-2024-53988, CVE-2024-53989…
4 recordsCVE-2011-1497, CVE-2024-26143, CVE-2024-32464, CVE-2024-54133
2 recordsCVE-2020-15169, CVE-2026-33168
2 recordsCVE-2023-28120, CVE-2026-33170

What the records offer

1 of 18 records publish a fixed version. For the other 17, held sources name none.

The earliest was published 2018-03-30 and the latest 2026-08-13. That span is how long this product kept producing this weakness, not how long any one record took to fix.

What this page does not cover

This is a family of records that read alike. It is not a shared vulnerability, not an inventory, and not a statement that one fix closes the rest. Each record's own state, its own dates and its own receipts are on its own page.

Grouped by shared product and weakness, not by shared vulnerability. Each record's own state is on its own page.

Everything this vendor has, including records outside this family:

CVE-2011-1497no title heldCWE-79
CVE-2018-3741no title heldCWE-79 Improper Neutralization of Input During…
CVE-2020-15169XSS in Action ViewCWE-79 Cross-site Scripting (XSS)
CVE-2022-23518Improper neutralization of data URIs allows XSS in rails-html-sanitizerCWE-79: Improper Neutralization of Input During…
CVE-2022-23519Possible XSS vulnerability with certain configurations of rails-html-sanitizerCWE-79: Improper Neutralization of Input During…
CVE-2022-23520rails-html-sanitizer contains an incomplete fix for an XSS vulnerabilityCWE-79: Improper Neutralization of Input During…
CVE-2023-28120no title held
CVE-2024-26143Rails Possible XSS Vulnerability in Action ControllerCWE-79: Improper Neutralization of Input During…
CVE-2024-32464ActionText ContentAttachment can Contain Unsanitized HTMLCWE-80: Improper Neutralization of…
CVE-2024-53985Possible XSS vulnerability with certain configurations of rails-html-sanitizer 1.6.0CWE-79: Improper Neutralization of Input During…
CVE-2024-53986Possible XSS vulnerability with certain configurations of rails-html-sanitizer 1.6.0CWE-79: Improper Neutralization of Input During…
CVE-2024-53987Possible XSS vulnerability with certain configurations of rails-html-sanitizer 1.6.0CWE-79: Improper Neutralization of Input During…
CVE-2024-53988Possible XSS vulnerability with certain configurations of rails-html-sanitizer 1.6.0CWE-79: Improper Neutralization of Input During…
CVE-2024-53989Possible XSS vulnerability with certain configurations of rails-html-sanitizer 1.6.0CWE-79: Improper Neutralization of Input During…
CVE-2024-54133Possible Content Security Policy bypass in Action DispatchCWE-79: Improper Neutralization of Input During…
CVE-2026-33168Rails has a possible XSS vulnerability in its Action View tag helpersCWE-79: Improper Neutralization of Input During…
CVE-2026-33170Rails Active Support has a possible XSS vulnerability in SafeBuffer#%CWE-79: Improper Neutralization of Input During…
CVE-2026-73648rails-html-sanitizer: Possible XSS vulnerability with certain configurationsCWE-79: Improper Neutralization of Input During…

18 records, read from the index as it stood on 20 Sep 2026. Every row opens the record it names, and every value on that record opens its own receipt.

Everything on this page is free. Public data. Withholding it protects nothing.