1616import java
1717import semmle.code.java.dataflow.FlowSources
1818
19+ overlay [ local?]
1920abstract private class InsecureNettyObjectCreation extends ClassInstanceExpr {
2021 int vulnerableArgumentIndex ;
2122
@@ -27,6 +28,7 @@ abstract private class InsecureNettyObjectCreation extends ClassInstanceExpr {
2728 abstract string splittingType ( ) ;
2829}
2930
31+ overlay [ local?]
3032abstract private class RequestOrResponseSplittingInsecureNettyObjectCreation extends InsecureNettyObjectCreation
3133{
3234 override string splittingType ( ) { result = "Request splitting or response splitting" }
@@ -35,6 +37,7 @@ abstract private class RequestOrResponseSplittingInsecureNettyObjectCreation ext
3537/**
3638 * Request splitting can allowing an attacker to inject/smuggle an additional HTTP request into the socket connection.
3739 */
40+ overlay [ local?]
3841abstract private class RequestSplittingInsecureNettyObjectCreation extends InsecureNettyObjectCreation
3942{
4043 override string splittingType ( ) { result = "Request splitting" }
@@ -43,11 +46,13 @@ abstract private class RequestSplittingInsecureNettyObjectCreation extends Insec
4346/**
4447 * Response splitting can lead to HTTP vulnerabilities like XSS and cache poisoning.
4548 */
49+ overlay [ local?]
4650abstract private class ResponseSplittingInsecureNettyObjectCreation extends InsecureNettyObjectCreation
4751{
4852 override string splittingType ( ) { result = "Response splitting" }
4953}
5054
55+ overlay [ local?]
5156private class InsecureDefaultHttpHeadersClassInstantiation extends RequestOrResponseSplittingInsecureNettyObjectCreation
5257{
5358 InsecureDefaultHttpHeadersClassInstantiation ( ) {
@@ -58,6 +63,7 @@ private class InsecureDefaultHttpHeadersClassInstantiation extends RequestOrResp
5863 }
5964}
6065
66+ overlay [ local?]
6167private class InsecureDefaultHttpResponseClassInstantiation extends ResponseSplittingInsecureNettyObjectCreation
6268{
6369 InsecureDefaultHttpResponseClassInstantiation ( ) {
@@ -66,6 +72,7 @@ private class InsecureDefaultHttpResponseClassInstantiation extends ResponseSpli
6672 }
6773}
6874
75+ overlay [ local?]
6976private class InsecureDefaultHttpRequestClassInstantiation extends RequestSplittingInsecureNettyObjectCreation
7077{
7178 InsecureDefaultHttpRequestClassInstantiation ( ) {
@@ -74,6 +81,7 @@ private class InsecureDefaultHttpRequestClassInstantiation extends RequestSplitt
7481 }
7582}
7683
84+ overlay [ local?]
7785private class InsecureDefaultFullHttpResponseClassInstantiation extends ResponseSplittingInsecureNettyObjectCreation
7886{
7987 InsecureDefaultFullHttpResponseClassInstantiation ( ) {
@@ -83,6 +91,7 @@ private class InsecureDefaultFullHttpResponseClassInstantiation extends Response
8391 }
8492}
8593
94+ overlay [ local?]
8695private class InsecureDefaultFullHttpRequestClassInstantiation extends RequestSplittingInsecureNettyObjectCreation
8796{
8897 InsecureDefaultFullHttpRequestClassInstantiation ( ) {
0 commit comments