From 5452a727a77f5d57571f16385ff6d4b750276a6a Mon Sep 17 00:00:00 2001
From: "pixeebot[bot]" <104101892+pixeebot[bot]@users.noreply.github.com>
Date: Tue, 28 Jan 2025 03:06:52 +0000
Subject: [PATCH] Introduced protections against HTTP header injection /
smuggling attacks
---
pom.xml | 5 +++--
.../java/com/acme/headerinjection/HeaderInjectionVuln.java | 3 ++-
.../com/acme/headerinjection/HeaderInjectionVulnFixed.java | 3 ++-
3 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/pom.xml b/pom.xml
index 9b83a72..dd4d3a4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,7 +12,8 @@
UTF-8
https://sonarcloud.io
pixee
-
+ 1.2.1
+
@@ -31,7 +32,7 @@
io.github.pixee
java-security-toolkit
- 1.2.0
+ ${versions.java-security-toolkit}
diff --git a/src/main/java/com/acme/headerinjection/HeaderInjectionVuln.java b/src/main/java/com/acme/headerinjection/HeaderInjectionVuln.java
index 8a9df00..301cc85 100644
--- a/src/main/java/com/acme/headerinjection/HeaderInjectionVuln.java
+++ b/src/main/java/com/acme/headerinjection/HeaderInjectionVuln.java
@@ -1,5 +1,6 @@
package com.acme.headerinjection;
+import io.github.pixee.security.Newlines;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.QueryParam;
@@ -11,7 +12,7 @@ public class HeaderInjectionVuln {
@GET
public String lookupResource(HttpServletResponse response, @QueryParam("q") final String q) {
- response.setHeader("X-Last-Search", q);
+ response.setHeader("X-Last-Search", Newlines.stripAll(q));
return "ok";
}
}
diff --git a/src/main/java/com/acme/headerinjection/HeaderInjectionVulnFixed.java b/src/main/java/com/acme/headerinjection/HeaderInjectionVulnFixed.java
index aae054a..e3975e3 100644
--- a/src/main/java/com/acme/headerinjection/HeaderInjectionVulnFixed.java
+++ b/src/main/java/com/acme/headerinjection/HeaderInjectionVulnFixed.java
@@ -1,5 +1,6 @@
package com.acme.headerinjection;
+import io.github.pixee.security.Newlines;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.QueryParam;
@@ -11,7 +12,7 @@ public class HeaderInjectionVulnFixed {
@GET
public String lookupResource(HttpServletResponse response, @QueryParam("q") final String q) {
- response.setHeader("X-Last-Search", stripNewlines(q));
+ response.setHeader("X-Last-Search", Newlines.stripAll(stripNewlines(q)));
return "ok";
}