Summary
A stored and blind XSS vulnerability exists in the form title field. A malicious attacker can inject JavaScript without any authentication via a form title that is saved in the backend database. When any user visits that injected page, the JavaScript payload gets executed.
Type: Stored and Blind Cross-Site Scripting (XSS)
Affected Component: form title input field
Authentication Required: No (Unauthenticated attack possible)
Impact: Arbitrary JavaScript execution in victim’s browser
Details
A Stored XSS vulnerability occurs when an application stores malicious user input (in this case, a script injected via the form title field) in its backend database and renders it later on a page viewed by other users without proper sanitization or encoding.
In this case, the attacker can inject JavaScript payloads in the title field of a form, which the application stores in the database. When any user, such as an admin or another visitor, views the page that displays this title, the malicious script executes in their browser context.
PoC
- Visit
https://yeswiki.net/?BazaR&vue=formulaire or localhost/?BazaR&vue=formulaire or
https://ferme.yeswiki.net/[username]/?BazaR&vue=formulaire
- Click on the
+ icon to add a record via the Diary form.
- Inject the payload like:
<script>alert(document.cookie)</script> or <script>alert(1)</script> into Name of the event and Description
- Then save the record by clicking
To validate
- The payload will be executed when anyone visits
/?BazaR&vue=consulter also in the diary record
/?wiki=BazaR&vue=consulter&action=recherche&q=&id=2&facette=
The payload is persistant.
Impact
- Severity: High (especially since it’s stored and blind)
- Risk to Admins/Privileged Users: High — they are the most likely victims
- Risk to System: Session hijacking, data theft, reputational damage
Apology
I gave it a try to (https://yeswiki.net/) see if it also existed in the hosted version. I was successful in reproducing the XSS. As it is a persistent XSS, the payload is still saved into the server; there is no option to delete the record by a non-administrative user. I kindly request you to delete the record I created for testing purposes. The payload is located at
https://yeswiki.net/?wiki=BazaR&vue=consulter&action=recherche&q=&id=2&facette=. Accept my apology, and thanks for your consideration.
Summary
A stored and blind XSS vulnerability exists in the form title field. A malicious attacker can inject JavaScript without any authentication via a form title that is saved in the backend database. When any user visits that injected page, the JavaScript payload gets executed.
Type: Stored and Blind Cross-Site Scripting (XSS)
Affected Component: form title input field
Authentication Required: No (Unauthenticated attack possible)
Impact: Arbitrary JavaScript execution in victim’s browser
Details
A Stored XSS vulnerability occurs when an application stores malicious user input (in this case, a script injected via the form title field) in its backend database and renders it later on a page viewed by other users without proper sanitization or encoding.
In this case, the attacker can inject JavaScript payloads in the title field of a form, which the application stores in the database. When any user, such as an admin or another visitor, views the page that displays this title, the malicious script executes in their browser context.
PoC
https://yeswiki.net/?BazaR&vue=formulaireorlocalhost/?BazaR&vue=formulaireorhttps://ferme.yeswiki.net/[username]/?BazaR&vue=formulaire+icon to add a record via theDiaryform.<script>alert(document.cookie)</script>or<script>alert(1)</script>intoName of the eventandDescriptionTo validate/?BazaR&vue=consulteralso in the diary record/?wiki=BazaR&vue=consulter&action=recherche&q=&id=2&facette=The payload is persistant.
Impact
Apology
I gave it a try to (
https://yeswiki.net/) see if it also existed in the hosted version. I was successful in reproducing the XSS. As it is a persistent XSS, the payload is still saved into the server; there is no option to delete the record by a non-administrative user. I kindly request you to delete the record I created for testing purposes. The payload is located athttps://yeswiki.net/?wiki=BazaR&vue=consulter&action=recherche&q=&id=2&facette=. Accept my apology, and thanks for your consideration.