mirror of
https://github.com/github/codeql.git
synced 2026-03-04 22:56:47 +01:00
Java: Add XXE sinks for MDHT
This commit is contained in:
22
java/ql/lib/semmle/code/java/frameworks/mdht/MdhtXml.qll
Normal file
22
java/ql/lib/semmle/code/java/frameworks/mdht/MdhtXml.qll
Normal file
@@ -0,0 +1,22 @@
|
||||
/** Provides definitions related to XML parsing in Model-Driven Health Tools. */
|
||||
|
||||
import java
|
||||
private import semmle.code.java.security.XmlParsers
|
||||
|
||||
/** A call to `CDAUtil.load` or `CDAUtil.loadAs`. */
|
||||
private class CdaUtilLoad extends XmlParserCall {
|
||||
CdaUtilLoad() {
|
||||
this.getMethod()
|
||||
.hasQualifiedName("org.openhealthtools.mdht.uml.cda.util", "CDAUtil", ["load", "loadAs"])
|
||||
}
|
||||
|
||||
override Expr getSink() {
|
||||
result = this.getAnArgument() and
|
||||
exists(RefType t | result.getType().(RefType).getASourceSupertype*() = t |
|
||||
t instanceof TypeInputStream or
|
||||
t instanceof InputSource
|
||||
)
|
||||
}
|
||||
|
||||
override predicate isSafe() { none() }
|
||||
}
|
||||
@@ -9,6 +9,7 @@ private module Frameworks {
|
||||
private import semmle.code.java.frameworks.apache.CommonsXml
|
||||
private import semmle.code.java.frameworks.javaee.Xml
|
||||
private import semmle.code.java.frameworks.javase.Beans
|
||||
private import semmle.code.java.frameworks.mdht.MdhtXml
|
||||
private import semmle.code.java.frameworks.rundeck.RundeckXml
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user