Skip to content

Commit 0a1e23b

Browse files
committed
GHSA/SYNC: 4 brand new advisories
1 parent 5a41723 commit 0a1e23b

File tree

4 files changed

+189
-0
lines changed

4 files changed

+189
-0
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
---
2+
gem: action_text-trix
3+
ghsa: qmpg-8xg6-ph5q
4+
url: https://github.com/basecamp/trix/security/advisories/GHSA-qmpg-8xg6-ph5q
5+
title: Trix has a Stored XSS vulnerability through serialized attributes
6+
date: 2026-03-12
7+
description: |
8+
### Impact
9+
10+
The Trix editor, in versions prior to 2.1.17, is vulnerable to XSS
11+
attacks when a `data-trix-serialized-attributes` attribute bypasses
12+
the DOMPurify sanitizer.
13+
14+
An attacker could craft HTML containing a `data-trix-serialized-attributes`
15+
attribute with a malicious payload that, when the content is rendered,
16+
could execute arbitrary JavaScript code within the context of the
17+
user's session, potentially leading to unauthorized actions being
18+
performed or sensitive information being disclosed.
19+
20+
### Patches
21+
22+
Update Recommendation
23+
24+
Users should upgrade to Trix editor version 2.1.17 or later.
25+
26+
### References
27+
28+
The XSS vulnerability was responsibly reported by Hackerone
29+
researcher [newbiefromcoma](https://hackerone.com/newbiefromcoma).
30+
cvss_v3: 4.6
31+
patched_versions:
32+
- ">= 2.1.17"
33+
related:
34+
url:
35+
- https://github.com/basecamp/trix/security/advisories/GHSA-qmpg-8xg6-ph5q
36+
- https://github.com/basecamp/trix/releases/tag/v2.1.17
37+
- https://github.com/basecamp/trix/pull/1282
38+
- https://github.com/basecamp/trix/commit/53197ab5a142e6b0b76127cb790726b274eaf1bc
39+
- https://github.com/advisories/GHSA-qmpg-8xg6-ph5q
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
gem: camaleon_cms
3+
cve: 2026-1776
4+
ghsa: jw5g-f64p-6x78
5+
url: https://nvd.nist.gov/vuln/detail/CVE-2026-1776
6+
title: Camaleon CMS vulnerable to Path Traversal through
7+
AWS S3 uploader implementation
8+
date: 2026-03-10
9+
description: |
10+
Camaleon CMS versions 2.4.5.0 through 2.9.1, prior to commit f54a77e,
11+
contain a path traversal vulnerability in the AWS S3 uploader
12+
implementation that allows authenticated users to read arbitrary
13+
files from the web server’s filesystem. The issue occurs in the
14+
download_private_file functionality when the application is
15+
configured to use the CamaleonCmsAwsUploader backend. Unlike the
16+
local uploader implementation, the AWS uploader does not validate
17+
file paths with valid_folder_path?, allowing directory traversal
18+
sequences to be supplied via the file parameter. As a result, any
19+
authenticated user, including low-privileged registered users, can
20+
access sensitive files such as /etc/passwd. This issue represents a
21+
bypass of the incomplete fix for CVE-2024-46987 and affects
22+
deployments using the AWS S3 storage backend.
23+
cvss_v4: 6.0
24+
unaffected_versions:
25+
- "< 2.4.5.0"
26+
notes: 'Never patched; last release was 2.9.1'
27+
related:
28+
url:
29+
- https://nvd.nist.gov/vuln/detail/CVE-2026-1776
30+
- https://github.com/owen2345/camaleon-cms/pull/1127
31+
- https://github.com/owen2345/camaleon-cms/commit/f54a77e2a7be601215ea1b396038c589a0cab9af
32+
- https://camaleon.website
33+
- https://www.vulncheck.com/advisories/camaleon-cms-aws-uploader-authenticated-path-traversal-arbitrary-file-read
34+
- https://github.com/advisories/GHSA-jw5g-f64p-6x78
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
---
2+
gem: devise
3+
ghsa: 57hq-95w6-v4fc
4+
url: https://github.com/heartcombo/devise/security/advisories/GHSA-57hq-95w6-v4fc
5+
title: Confirmable "change email" race condition permits
6+
user to confirm email they have no access to
7+
date: 2026-03-16
8+
description: |
9+
## Impact
10+
11+
A race condition in Devise's Confirmable module allows an attacker
12+
to confirm an email address they do not own. This affects any Devise
13+
application using the reconfirmable option (the default when using
14+
Confirmable with email changes).
15+
16+
By sending two concurrent email change requests, an attacker can
17+
desynchronize the confirmation_token and unconfirmed_email fields.
18+
The confirmation token is sent to an email the attacker controls,
19+
but the unconfirmed_email in the database points to a victim's
20+
email address. When the attacker uses the token, the victim's email
21+
is confirmed on the attacker's account.
22+
23+
## Patch
24+
25+
This is patched in Devise v5.0.3. Users should upgrade as soon as possible.
26+
27+
## Workaround
28+
29+
Applications can override this specific method from Devise models
30+
to force unconfirmed_email to be persisted when unchanged:
31+
(assuming your model is User)
32+
33+
```
34+
class User < ApplicationRecord
35+
protected
36+
37+
def postpone_email_change_until_confirmation_and_regenerate_confirmation_token
38+
unconfirmed_email_will_change!
39+
super
40+
end
41+
end
42+
```
43+
44+
Note: Mongoid does not seem to respect that will_change! should
45+
force the attribute to be persisted, even if it did not really
46+
change, so you might have to implement a workaround similar to
47+
Devise by setting changed_attributes["unconfirmed_email"] = nil as well.
48+
patched_versions:
49+
- ">= 5.0.3"
50+
related:
51+
url:
52+
- https://about.gitlab.com/releases/2023/01/09/security-release-gitlab-15-7-2-released
53+
- https://github.com/heartcombo/devise/pull/5784
54+
- https://github.com/heartcombo/devise/issues/5783
55+
- https://portswigger.net/research/smashing-the-state-machine
56+
- https://groups.google.com/g/heartcombo/c/ieiLJhG4EGE/m/PNlIQv54AAAJ
57+
- https://groups.google.com/g/heartcombo/c/o9mtkcfvt_g/m/SABX6rp8AgAJ
58+
- https://groups.google.com/g/heartcombo/c/XDII89RV6Ak/m/AJMOyayNAgAJ
59+
- https://groups.google.com/g/heartcombo/c/TWge7vKELhc/m/gRTrgKz4CQAJ
60+
- https://github.com/heartcombo/devise/security/advisories/GHSA-57hq-95w6-v4fc

gems/sigstore/CVE-2026-31830.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
---
2+
gem: sigstore
3+
cve: 2026-31830
4+
ghsa: mhg6-2q2v-9h2c
5+
url: https://github.com/sigstore/sigstore-ruby/security/advisories/GHSA-mhg6-2q2v-9h2c
6+
title: sigstore-ruby verifier returns success for DSSE bundles
7+
with mismatched in-toto subject digest
8+
date: 2026-03-11
9+
description: |
10+
### Summary
11+
12+
`Sigstore::Verifier#verify` does not propagate the `VerificationFailure`
13+
returned by `verify_in_toto` when the artifact digest does not match
14+
the digest in the in-toto attestation subject. As a result, verification
15+
of DSSE bundles containing in-toto statements returns `VerificationSuccess`
16+
regardless of whether the artifact matches the attested subject.
17+
18+
### Details
19+
20+
In `lib/sigstore/verifier.rb`, the verify method calls `verify_in_toto`
21+
(line 176) without capturing or checking its return value:
22+
23+
`verify_in_toto(input, in_toto)`
24+
25+
When `verify_in_toto` detects a digest mismatch, it returns a
26+
`VerificationFailure` object. Because the caller discards this
27+
return value, execution unconditionally falls through to return
28+
`VerificationSuccess`. This is the only verification sub-check in
29+
the method (out of 12) whose failure is not propagated.
30+
31+
The message_signature code path is not affected.
32+
33+
### Impact
34+
35+
An attacker who possesses a valid signed DSSE bundle containing an
36+
in-toto attestation for artifact A can present it as a valid attestation
37+
for a different artifact B. All other verification checks (DSSE envelope
38+
signature, certificate chain, Rekor inclusion, SCTs, policy) pass because
39+
they are independent of the artifact content. Only the in-toto subject
40+
digest check detects the mismatch, and its result is discarded.
41+
42+
This allows an attacker to bypass artifact-to-attestation binding for
43+
any consumer that relies on `Sigstore::Verifier#verify` to validate
44+
DSSE/in-toto bundles.
45+
46+
### Workarounds
47+
48+
None. Consumers cannot work around this without patching the library.
49+
cvss_v3: 7.5
50+
patched_versions:
51+
- ">= 0.2.3"
52+
related:
53+
url:
54+
- https://nvd.nist.gov/vuln/detail/CVE-2026-31830
55+
- https://github.com/sigstore/sigstore-ruby/security/advisories/GHSA-mhg6-2q2v-9h2c
56+
- https://github.com/advisories/GHSA-mhg6-2q2v-9h2c

0 commit comments

Comments
 (0)