Skip to content

Commit 3cd38df

Browse files
wladsRubySec CI
authored andcommitted
Updated advisory posts against rubysec/ruby-advisory-db@0f5ad81
1 parent cd54405 commit 3cd38df

3 files changed

Lines changed: 161 additions & 0 deletions

File tree

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
---
2+
layout: advisory
3+
title: 'GHSA-53p3-c7vp-4mcc (action_text-trix): Trix is vulnerable to XSS through
4+
JSON deserialization bypass in drag-and-drop (Level0InputController)'
5+
comments: false
6+
categories:
7+
- action_text-trix
8+
advisory:
9+
gem: action_text-trix
10+
ghsa: 53p3-c7vp-4mcc
11+
url: https://github.com/basecamp/trix/security/advisories/GHSA-53p3-c7vp-4mcc
12+
title: Trix is vulnerable to XSS through JSON deserialization bypass in drag-and-drop
13+
(Level0InputController)
14+
date: 2026-03-29
15+
description: |
16+
### Impact
17+
18+
The Trix editor, in versions prior to 2.1.18, is vulnerable to XSS
19+
when a crafted `application/x-trix-document` JSON payload is dropped
20+
into the editor in environments using the fallback Level0InputController
21+
(e.g., embedded WebViews lacking Input Events Level 2 support).
22+
23+
The `StringPiece.fromJSON` method trusted `href` attributes from the
24+
JSON payload without sanitization. An attacker could craft a draggable
25+
element containing a `javascript:` URI in the href attribute that,
26+
when dropped into a vulnerable editor, would bypass DOMPurify
27+
sanitization and inject executable JavaScript into the DOM.
28+
29+
Exploitation requires a specific environment (Level0InputController
30+
fallback) and social engineering (victim must drag and drop
31+
attacker-controlled content into the editor). Applications using
32+
server-side HTML sanitization (such as Rails' built-in sanitizer)
33+
are additionally protected, as the payload is neutralized on save.
34+
35+
### Patches
36+
37+
Update Recommendation: Users should upgrade to Trix editor
38+
version 2.1.18 or later.
39+
40+
### References
41+
42+
The XSS vulnerability was responsibly reported by Hackerone
43+
researcher [newbiefromcoma](https://hackerone.com/newbiefromcoma).
44+
patched_versions:
45+
- ">= 2.1.18"
46+
related:
47+
url:
48+
- https://github.com/basecamp/trix/security/advisories/GHSA-53p3-c7vp-4mcc
49+
- https://github.com/basecamp/trix/releases/tag/v2.1.18
50+
- https://github.com/basecamp/trix/commit/9c0a993d9fc2ffe9d56b013b030bc238f9c0557c
51+
- https://github.com/advisories/GHSA-53p3-c7vp-4mcc
52+
---
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
---
2+
layout: advisory
3+
title: 'GHSA-c4rq-3m3g-8wgx (nokogiri): Nokogiri CSS selector tokenizer has regular
4+
expression backtracking'
5+
comments: false
6+
categories:
7+
- nokogiri
8+
advisory:
9+
gem: nokogiri
10+
ghsa: c4rq-3m3g-8wgx
11+
url: https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-c4rq-3m3g-8wgx
12+
title: Nokogiri CSS selector tokenizer has regular expression backtracking
13+
date: 2026-05-06
14+
description: |
15+
## Summary
16+
17+
Nokogiri's CSS selector tokenizer contains regular expressions whose construction may result in exponential regex backtracking on adversarial selectors. Three ReDoS vectors are addressed in this release:
18+
19+
1. String-literal tokenization on certain unterminated quoted-string input.
20+
2. String-literal tokenization on a separate class of hex-escape-rich input.
21+
3. Identifier tokenization on hex-escape-rich input.
22+
23+
The public CSS selector methods that funnel through the affected tokenizer are `Nokogiri::CSS.xpath_for`, `Node#css`, `Node#at_css`, `Searchable#search`, and `CSS::Parser#parse`.
24+
25+
26+
## Mitigation
27+
28+
Upgrade to Nokogiri `>= 1.19.3`.
29+
30+
If users are unable to upgrade, two options are available:
31+
32+
- Avoid the use of attacker-controlled text in CSS selectors. Applications that only pass developer-authored selectors to Nokogiri are not directly exposed.
33+
- Set global `Regexp.timeout` (Ruby 3.2+, JRuby 9.4+) to bound parse time.
34+
35+
## Severity
36+
37+
The Nokogiri maintainers have evaluated this as **High Severity** (CVSS 7.5, `AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H`).
38+
39+
An attacker able to inject user-supplied text into a CSS selector parse method can cause exponential backtracking, resulting in a potential denial of service.
40+
41+
42+
## Resources
43+
44+
- [CWE-1333: Inefficient Regular Expression Complexity](https://cwe.mitre.org/data/definitions/1333.html)
45+
46+
47+
## Credit
48+
49+
Vector 1 was responsibly reported by @colby-swandale. Vectors 2 and 3 were discovered by @flavorjones during the response to the original report.
50+
cvss_v3: 7.5
51+
patched_versions:
52+
- ">= 1.19.3"
53+
related:
54+
url:
55+
- https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-c4rq-3m3g-8wgx
56+
- https://github.com/advisories/GHSA-c4rq-3m3g-8wgx
57+
---
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
---
2+
layout: advisory
3+
title: 'GHSA-v2fc-qm4h-8hqv (nokogiri): Nokogiri XSLT transform has a memory leak'
4+
comments: false
5+
categories:
6+
- nokogiri
7+
advisory:
8+
gem: nokogiri
9+
ghsa: v2fc-qm4h-8hqv
10+
url: https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-v2fc-qm4h-8hqv
11+
title: Nokogiri XSLT transform has a memory leak
12+
date: 2026-05-06
13+
description: |
14+
## Summary
15+
16+
Nokogiri's `Nokogiri::XSLT::Stylesheet#transform` leaks a small heap allocation when passed a Ruby string parameter containing a null byte.
17+
18+
For applications that pass attacker-controlled input through `XSLT.transform` parameters, this may be a vector for a denial of service attack against long-running processes.
19+
20+
21+
## Mitigation
22+
23+
Upgrade to Nokogiri `>= 1.19.3`.
24+
25+
Users may also be able to mitigate this issue without upgrading by validating untrusted transform parameters before passing them to `Nokogiri::XSLT::Stylesheet#transform`.
26+
27+
28+
## Severity
29+
30+
The Nokogiri maintainers have evaluated this as **Moderate Severity**, CVSS 5.3.
31+
32+
Each leaked allocation is approximately 24–32 bytes, so meaningful memory growth requires sustained attacker-controlled traffic at high call rates. The bug does not cause memory corruption, information disclosure, or any change in the behavior of the transform itself, and the string-handling exception is raised as expected.
33+
34+
Applications that do not pass raw attacker-controlled bytes to XSLT parameters are unlikely to be affected in practice.
35+
36+
37+
## Resources
38+
39+
- [CWE-401: Missing Release of Memory after Effective Lifetime](https://cwe.mitre.org/data/definitions/401.html)
40+
41+
42+
## Credit
43+
44+
This vulnerability was responsibly reported by @Captainjack-kor.
45+
cvss_v3: 5.3
46+
patched_versions:
47+
- ">= 1.19.3"
48+
related:
49+
url:
50+
- https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-v2fc-qm4h-8hqv
51+
- https://github.com/advisories/GHSA-v2fc-qm4h-8hqv
52+
---

0 commit comments

Comments
 (0)