2 min read

XSS Vulnerability in AVM Support Tickets

Uploading malicious attachments within support tickets leads to self-XSS
XSS Vulnerability in AVM Support Tickets
Photo by Stillness InMotion / Unsplash

In May 2019 I identified a self-XSS vulnerability on AVM's website for submitting support tickets, which could potentially have been exploited to target backend applications such as an internal ticket system as well as internal employees.

AVM is a consumer electronics company founded in 1986 in Berlin, Germany. The company produces communications, networking devices such as DSL, ISDN, Wireless and VoIP products. It had sales of €580 million in 2020 with 840 employees. It is well known for its popular FRITZ!Box series.

Source: https://en.wikipedia.org/wiki/AVM_GmbH

AVM provides its customers the ability to submit support requests for unknown problems currently not answered by AVM's knowledge base. During the creation of such support tickets users must choose their product and affected software version but can also upload additional files besides describing the issue itself as text input.

Exemplary screenshot of AVM's support ticket formular

Here I noticed that the upload function of the support ticket formular did not validate filenames properly. In detail, after uploading an attachment, the uploaded object's filename was embedded into the website's Document Object Model (DOM) without being sanitized. This allowed for the execution of potentially malicious HTML or JavaScript code, when a file was uploaded with a payload like Sun'><img src=x onerror=alert(1)>set.jpg as filename.

XSS popup on avm.de

However, the filename was only reflected for the current user session. Therefore, a potential XSS attack could only target the user account itself that is currently creating a support ticket. A so called self-XSS vulnerability with no real impact or risk at all.

Nonetheless, such support tickets with malicious filenames could be successfully submitted to AVM and usually pile up in an underlying database or internal ticket system for further processing. If a support ticket's content such as the filename of attachments is not sanitized properly, our XSS filename would have been able to target internal AVM employees handling such incoming malicious support tickets. However, I did not proceed with further exploitation and reported the issue instantly, as the proof of concept already worked.

I reported the issue to AVM's security team via email at [email protected] and received a very fast response. The vulnerability was fixed promptly and I received some SWAG goodies for my responsible disclosure such as

  • a powerbank;
  • pens;
  • a charging cable;
  • gummy bears;
  • and a cool multitool keychain with the ability to open beers!

Thanks AVM for the SWAG and convenient communication. No CVE was issued for this low risk finding.