{"url":"http://public2.vulnerablecode.io/api/packages/81704?format=json","purl":"pkg:gem/activeadmin@4.0.0.beta1","type":"gem","namespace":"","name":"activeadmin","version":"4.0.0.beta1","qualifiers":{},"subpath":"","is_vulnerable":true,"next_non_vulnerable_version":"4.0.0.beta7","latest_non_vulnerable_version":"4.0.0.beta7","affected_by_vulnerabilities":[{"url":"http://public2.vulnerablecode.io/api/vulnerabilities/51564?format=json","vulnerability_id":"VCID-zwdv-qerx-ebfh","summary":"activeadmin vulnerable to stored persistent cross-site scripting (XSS) in dynamic form legends\n### Impact\n\nUsers settings their active admin form legends dynamically may be\nvulnerable to stored XSS, as long as its value can be injected\ndirectly by a malicious user.\n\nFor example:\n\n* A public web application allows users to create entities with\n  arbitrary names.\n* Active Admin is used to administrate these entities through a\n  private backend.\n* The form to edit these entities in the private backend has the\n  following shape (note the dynamic `name` value dependent on an\n  attribute of the `resource`):\n\n```ruby\n  form do |f|\n    f.inputs name: resource.name do\n      f.input :name\n      f.input :description\n    end\n\n    f.actions\n  end\n```\n\nThen a malicious user could create an entity with a payload that\nwould get executed in the active admin administrator's browser.\n\nBoth `form` blocks with an implicit or explicit name (i.e., both\n`form resource.name` or `form name: resource.name` would suffer\nfrom the problem), where the value of the name can be arbitrarily\nset by non admin users.\n\n### Patches\n\nThe problem has been fixed in ActiveAdmin 3.2.2 and ActiveAdmin 4.0.0.beta7.\n\n### Workarounds\n\nUsers can workaround this problem without upgrading by explicitly\nescaping the form name using an HTML escaping utility. For example:\n\n```ruby\n  form do |f|\n    f.inputs name: ERB::Util.html_escape(resource.name) do\n      f.input :name\n      f.input :description\n    end\n\n    f.actions\n  end\n```\nUpgrading is of course recommended though.\n\n### References\nhttps://owasp.org/www-community/attacks/xss/#stored-xss-attacks","references":[{"reference_url":"https://api.first.org/data/v1/epss?cve=CVE-2024-37031","reference_id":"","reference_type":"","scores":[{"value":"0.0023","scoring_system":"epss","scoring_elements":"0.45934","published_at":"2026-06-05T12:55:00Z"},{"value":"0.0023","scoring_system":"epss","scoring_elements":"0.45903","published_at":"2026-06-09T12:55:00Z"},{"value":"0.0023","scoring_system":"epss","scoring_elements":"0.45891","published_at":"2026-06-08T12:55:00Z"},{"value":"0.0023","scoring_system":"epss","scoring_elements":"0.45916","published_at":"2026-06-07T12:55:00Z"},{"value":"0.0023","scoring_system":"epss","scoring_elements":"0.45937","published_at":"2026-06-06T12:55:00Z"}],"url":"https://api.first.org/data/v1/epss?cve=CVE-2024-37031"},{"reference_url":"https://github.com/activeadmin/activeadmin","reference_id":"","reference_type":"","scores":[{"value":"7.2","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N"},{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/activeadmin/activeadmin"},{"reference_url":"https://github.com/activeadmin/activeadmin/pull/8349","reference_id":"","reference_type":"","scores":[{"value":"7.2","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N"},{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/activeadmin/activeadmin/pull/8349"},{"reference_url":"https://github.com/activeadmin/activeadmin/releases/tag/v3.2.2","reference_id":"","reference_type":"","scores":[{"value":"6.1","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"},{"value":"7.2","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N"},{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""},{"value":"Track","scoring_system":"ssvc","scoring_elements":"SSVCv2/E:N/A:N/T:P/P:M/B:A/M:M/D:T/2024-07-29T14:31:24Z/"}],"url":"https://github.com/activeadmin/activeadmin/releases/tag/v3.2.2"},{"reference_url":"https://github.com/activeadmin/activeadmin/security/advisories/GHSA-9mg6-x45v-hcfm","reference_id":"","reference_type":"","scores":[{"value":"7.2","scoring_system":"cvssv3","scoring_elements":""},{"value":"6.1","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"},{"value":"7.2","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N"},{"value":"HIGH","scoring_system":"cvssv3.1_qr","scoring_elements":""},{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""},{"value":"Track","scoring_system":"ssvc","scoring_elements":"SSVCv2/E:N/A:N/T:P/P:M/B:A/M:M/D:T/2024-07-29T14:31:24Z/"}],"url":"https://github.com/activeadmin/activeadmin/security/advisories/GHSA-9mg6-x45v-hcfm"},{"reference_url":"https://rubygems.org/gems/activeadmin/versions/3.2.2","reference_id":"","reference_type":"","scores":[{"value":"6.1","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"},{"value":"7.2","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N"},{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""},{"value":"Track","scoring_system":"ssvc","scoring_elements":"SSVCv2/E:N/A:N/T:P/P:M/B:A/M:M/D:T/2024-07-29T14:31:24Z/"}],"url":"https://rubygems.org/gems/activeadmin/versions/3.2.2"},{"reference_url":"https://nvd.nist.gov/vuln/detail/CVE-2024-37031","reference_id":"CVE-2024-37031","reference_type":"","scores":[{"value":"7.2","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N"},{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://nvd.nist.gov/vuln/detail/CVE-2024-37031"},{"reference_url":"https://github.com/rubysec/ruby-advisory-db/blob/master/gems/activeadmin/CVE-2024-37031.yml","reference_id":"CVE-2024-37031.YML","reference_type":"","scores":[{"value":"7.2","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N"},{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/rubysec/ruby-advisory-db/blob/master/gems/activeadmin/CVE-2024-37031.yml"},{"reference_url":"https://github.com/advisories/GHSA-9mg6-x45v-hcfm","reference_id":"GHSA-9mg6-x45v-hcfm","reference_type":"","scores":[{"value":"HIGH","scoring_system":"cvssv3.1_qr","scoring_elements":""}],"url":"https://github.com/advisories/GHSA-9mg6-x45v-hcfm"}],"fixed_packages":[{"url":"http://public2.vulnerablecode.io/api/packages/81706?format=json","purl":"pkg:gem/activeadmin@4.0.0.beta7","is_vulnerable":false,"affected_by_vulnerabilities":[],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:gem/activeadmin@4.0.0.beta7"}],"aliases":["CVE-2024-37031","GHSA-9mg6-x45v-hcfm"],"risk_score":4.0,"exploitability":"0.5","weighted_severity":"8.0","resource_url":"http://public2.vulnerablecode.io/vulnerabilities/VCID-zwdv-qerx-ebfh"}],"fixing_vulnerabilities":[],"risk_score":"4.0","resource_url":"http://public2.vulnerablecode.io/packages/pkg:gem/activeadmin@4.0.0.beta1"}