In FusionPBX up to v4.5.7, the file app\recordings\recording_play.php uses an unsanitized "filename" variable coming from the URL, which is base64 decoded and reflected in HTML, leading to XSS.
{
"unresolved_ranges": [
{
"cpes": [
"cpe:2.3:a:fusionpbx:fusionpbx:*:*:*:*:*:*:*:*"
],
"extracted_events": [
{
"range": [
{
"last_affected": "4.5.7"
}
],
"source": "CPE_RANGE"
}
],
"vendor_product": "fusionpbx:fusionpbx"
},
{
"extracted_events": [
{
"range": [
{
"last_affected": "4.5.7"
}
],
"source": "DESCRIPTION"
}
]
}
]
}{
"extracted_events": [
{
"range": [
{
"fixed": "11f2dd2254dbeb1c41bf19b8c38e8fa9bc948efb"
}
],
"source": "REFERENCES_COMMIT"
}
]
}