VYPR
Moderate severityNVD Advisory· Published Apr 29, 2025· Updated Apr 30, 2025

Yeswiki Vulnerable to Unauthenticated Reflected Cross-site Scripting

CVE-2025-46550

Description

YesWiki is a wiki system written in PHP. Prior to version 4.5.4, the /?BazaR endpoint and idformulaire parameter are vulnerable to cross-site scripting. An attacker can use a reflected cross-site scripting attack to steal cookies from an authenticated user by having them click on a malicious link. Stolen cookies allow the attacker to take over the user’s session. This vulnerability may also allow attackers to deface the website or embed malicious content. This issue has been patched in version 4.5.4.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
yeswiki/yeswikiPackagist
< 4.5.44.5.4

Affected products

1

Patches

1
4e9e51d80cd0

fix(bazar): force idformulaire to be an integer

https://github.com/YesWiki/yeswikiFlorian SchmittApr 16, 2025via ghsa
2 files changed · +6 3
  • includes/services/TemplateEngine.php+3 0 modified
    @@ -109,6 +109,9 @@ public function __construct(
     
                 return '';
             });
    +        $this->addTwigHelper('int', function ($content) {
    +            return (int)$content;
    +        });
             $this->addTwigHelper('_t', function ($key, $params = []) {
                 return html_entity_decode(_t($key, $params));
             });
    
  • tools/bazar/templates/forms/forms_confirm.twig+3 3 modified
    @@ -2,15 +2,15 @@
     	<form action="{{ url({params:{
     			vue: 'formulaire',
     			action: type,
    -			idformulaire: request.get.idformulaire ?? 'error'
    +			idformulaire: int(request.get.idformulaire ?? 'error')
     		}}) }}"
     		method="post"
     		style="display: inline"
     		>
     		{{ include("@templates/alert-message.twig",{
     			type: "warning",
     			message: 
    -				_t(type == 'delete' ? 'BAZ_FORM_DELETE' : 'BAZ_FORM_EMPTY',{'formId':request.get.idformulaire}) ~ '<br/>' ~
    +				_t(type == 'delete' ? 'BAZ_FORM_DELETE' : 'BAZ_FORM_EMPTY',{'formId': int(request.get.idformulaire)}) ~ '<br/>' ~
     		    '<b>' ~ _t(type == 'delete' ? 'BAZ_CONFIRM_SUPPRIMER_FORMULAIRE' : 'BAZ_CONFIRM_VIDER_FORMULAIRE') ~ ' ?</b><br/>'
     		}) }}
     		<input type="hidden" name="confirm{{ type == 'delete' ? 'Delete' : 'Empty' }}Token" value="{{ csrfToken({id:'main',refresh:false})|e('html_attr') }}">
    @@ -30,4 +30,4 @@
     			class="btn btn-default" 
     			style="vertical-align: middle; display: inline" />
     	</form>
    -</div>
    \ No newline at end of file
    +</div>
    

Vulnerability mechanics

Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

4

News mentions

0

No linked articles in our index yet.