Skip to content

Commit 5452a72

Browse files
Introduced protections against HTTP header injection / smuggling attacks
1 parent 3cc8295 commit 5452a72

File tree

3 files changed

+7
-4
lines changed

3 files changed

+7
-4
lines changed

pom.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1313
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
1414
<sonar.organization>pixee</sonar.organization>
15-
</properties>
15+
<versions.java-security-toolkit>1.2.1</versions.java-security-toolkit>
16+
</properties>
1617

1718
<dependencyManagement>
1819
<dependencies>
@@ -31,7 +32,7 @@
3132
<dependency>
3233
<groupId>io.github.pixee</groupId>
3334
<artifactId>java-security-toolkit</artifactId>
34-
<version>1.2.0</version>
35+
<version>${versions.java-security-toolkit}</version>
3536
</dependency>
3637
</dependencies>
3738
</dependencyManagement>

src/main/java/com/acme/headerinjection/HeaderInjectionVuln.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.acme.headerinjection;
22

3+
import io.github.pixee.security.Newlines;
34
import jakarta.ws.rs.GET;
45
import jakarta.ws.rs.Path;
56
import jakarta.ws.rs.QueryParam;
@@ -11,7 +12,7 @@ public class HeaderInjectionVuln {
1112

1213
@GET
1314
public String lookupResource(HttpServletResponse response, @QueryParam("q") final String q) {
14-
response.setHeader("X-Last-Search", q);
15+
response.setHeader("X-Last-Search", Newlines.stripAll(q));
1516
return "ok";
1617
}
1718
}

src/main/java/com/acme/headerinjection/HeaderInjectionVulnFixed.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.acme.headerinjection;
22

3+
import io.github.pixee.security.Newlines;
34
import jakarta.ws.rs.GET;
45
import jakarta.ws.rs.Path;
56
import jakarta.ws.rs.QueryParam;
@@ -11,7 +12,7 @@ public class HeaderInjectionVulnFixed {
1112

1213
@GET
1314
public String lookupResource(HttpServletResponse response, @QueryParam("q") final String q) {
14-
response.setHeader("X-Last-Search", stripNewlines(q));
15+
response.setHeader("X-Last-Search", Newlines.stripAll(stripNewlines(q)));
1516
return "ok";
1617
}
1718

0 commit comments

Comments
 (0)