Skip to content

Commit af217ec

Browse files
Merge pull request #623 from rabbitmq/rabbitmq-java-client-622-for-4.x
Sanitise peer certificate values we log
2 parents 2bcb99b + 984ae9d commit af217ec

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

src/main/java/com/rabbitmq/client/impl/TlsUtils.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,8 +130,8 @@ public static String peerCertificateInfo(Certificate certificate, String prefix)
130130
try {
131131
return String.format("%s subject: %s, subject alternative names: %s, " +
132132
"issuer: %s, not valid after: %s, X.509 usage extensions: %s",
133-
prefix, c.getSubjectDN().getName(), sans(c, ","), c.getIssuerDN().getName(),
134-
c.getNotAfter(), extensions(c));
133+
stripCRLF(prefix), stripCRLF(c.getSubjectDN().getName()), stripCRLF(sans(c, ",")), stripCRLF(c.getIssuerDN().getName()),
134+
c.getNotAfter(), stripCRLF(extensions(c)));
135135
} catch (Exception e) {
136136
return "Error while retrieving " + prefix + " certificate information";
137137
}
@@ -173,6 +173,14 @@ public static String extensionPrettyPrint(String oid, byte[] derOctetString, X50
173173
}
174174
}
175175

176+
/**
177+
* Strips carriage return (CR) and line feed (LF) characters to mitigate CWE-117.
178+
* @return sanitised string value
179+
*/
180+
public static String stripCRLF(String value) {
181+
return value.replaceAll("\r", "").replaceAll("\n", "");
182+
}
183+
176184
private static String extensions(X509Certificate certificate) {
177185
List<String> extensions = new ArrayList<String>();
178186
for (String oid : certificate.getCriticalExtensionOIDs()) {

0 commit comments

Comments
 (0)