File tree Expand file tree Collapse file tree 1 file changed +13
-19
lines changed
javascript/ql/lib/semmle/javascript/security/dataflow Expand file tree Collapse file tree 1 file changed +13
-19
lines changed Original file line number Diff line number Diff line change @@ -251,25 +251,19 @@ module DomBasedXss {
251251 }
252252 }
253253
254- // /**
255- // * A write to the `innerHTML` property of a DOM element, viewed as an XSS sink.
256- // *
257- // * Uses the Angular Renderer2 API, instead of the default `Element.innerHTML` property.
258- // */
259- // class AngularRender2SetPropertyInnerHtmlSink extends Sink {
260- // AngularRender2SetPropertyInnerHtmlSink() {
261- // exists(API::CallNode setProperty |
262- // setProperty =
263- // API::moduleImport("@angular/core")
264- // .getMember("Renderer2")
265- // .getInstance()
266- // .getMember("setProperty")
267- // .getACall() and
268- // this = setProperty.getParameter(2).asSink() and
269- // setProperty.getArgument(1).getStringValue() = "innerHTML"
270- // )
271- // }
272- // }
254+ /**
255+ * A write to the `innerHTML` or `outerHTML` property of a DOM element, viewed as an XSS sink.
256+ *
257+ * Uses the Angular Renderer2 API, instead of the default `Element.innerHTML` property.
258+ */
259+ class AngularRender2SetPropertyInnerHtmlSink2 extends Sink {
260+ AngularRender2SetPropertyInnerHtmlSink2 ( ) {
261+ exists ( Angular2:: AngularRenderer2AttributeDefinition attrDef |
262+ attrDef .getName ( ) = [ "innerHTML" , "outerHTML" ] and
263+ this = attrDef .getValueNode ( )
264+ )
265+ }
266+ }
273267
274268 /**
275269 * A value being piped into the `safe` pipe in a template file,
You can’t perform that action at this time.
0 commit comments