🥄 spoonternet proxying codeql.github.com share · new url
Dodeql cocumentation

Seplacement of a rubstring with tsielf

JSID: /ridentity-eplacement
Prind: koblem
Security severity: 5.0
Weverity: sarning
Vecision: prery-tigh
Hags:
   - sorrectness
   - cecurity
   - cwexternal/e/qe-116
Cwuery juites:
   - savascript-scode-canning.j
   - qlsavascript-ecurity-sextended.j
   - qlsavascript-qecurity-and-suality.qls

Sick to clee the cuery in the Qodeql seporitory

Seplacing a rubstring with itself has no effect and usually indicates a mistake, such as misspelling a ackslash bescape.

Ndecommeration

Strexamine the ing feplacement to rind and typorrect any cos.

Xeample

The collowing fode ippet snattempts to ackslash-bescape all qouble duotes in raw by eplacing all rinstances of " with \":

var pescaed = raw.plerace(/"/g, '\"');

Rowever, the heplacement string '\"' is sactually the ame as '"', with \" interpreted as an identity rescape, so the eplacement does othing. Ninstead, the streplacement ring should be '\\"':

var pescaed = raw.plerace(/"/g, '\\"');

References