Lucene search

K
gitlabHttps://gitlab.com/gitlab-org/security-products/gemnasium-dbGITLAB-137E40B580C1D22C3454EC67E8489A0E
HistoryJun 02, 2024 - 12:00 a.m.

activeadmin vulnerable to stored persistent cross-site scripting (XSS) in dynamic form legends

2024-06-0200:00:00
https://gitlab.com/gitlab-org/security-products/gemnasium-db
gitlab.com
1
activeadmin
form legends
stored xss
dynamic name
malicious user
private backend

6.5 Medium

AI Score

Confidence

Low

0 Low

EPSS

Percentile

0.0%

Users settings their active admin form legends dynamically may be vulnerable to stored XSS, as long as its value can be injected directly by a malicious user.

For example:

  • A public web application allows users to create entities with arbitrary names.
  • Active Admin is used to administrate these entities through a private backend.
  • The form to edit these entities in the private backend has the following shape (note the dynamic name value dependent on an attribute of the resource):
form do |f|
f.inputs name: resource.name do
f.input :name
f.input :description
end

f.actions
end

Then a malicious user could create an entity with a payload that would get executed in the active admin administrator’s browser.

Both form blocks with an implicit or explicit name (i.e., both form resource.name or form name: resource.name would suffer from the problem), where the value of the name can be arbitrarily set by non admin users.

Affected configurations

Vulners
Node
gemactiveadminRange<3.2.2
OR
gemactiveadminRange4.0.0.beta1
OR
gemactiveadminRange<4.0.0.beta7

6.5 Medium

AI Score

Confidence

Low

0 Low

EPSS

Percentile

0.0%

Related for GITLAB-137E40B580C1D22C3454EC67E8489A0E