Skip to content

Commit 1ba11e6

Browse files
fix: enforce stream read/write constraints to prevent excessive nesting
1 parent 028a7ef commit 1ba11e6

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

modules/swagger-parser-v3/src/main/java/io/swagger/v3/parser/ObjectMapperFactory.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
import com.fasterxml.jackson.annotation.JsonInclude;
44
import com.fasterxml.jackson.core.JsonFactory;
55
import com.fasterxml.jackson.core.JsonFactoryBuilder;
6+
import com.fasterxml.jackson.core.StreamReadConstraints;
67
import com.fasterxml.jackson.core.StreamReadFeature;
8+
import com.fasterxml.jackson.core.StreamWriteConstraints;
79
import com.fasterxml.jackson.databind.DeserializationFeature;
810
import com.fasterxml.jackson.databind.ObjectMapper;
911
import com.fasterxml.jackson.databind.SerializationFeature;
@@ -42,12 +44,16 @@ private static ObjectMapper create(JsonFactory jsonFactory, boolean includePathD
4244
private static JsonFactory createJsonFactory() {
4345
return new JsonFactoryBuilder()
4446
.enable(StreamReadFeature.STRICT_DUPLICATE_DETECTION)
47+
.streamReadConstraints(StreamReadConstraints.builder().maxNestingDepth(2000).build())
48+
.streamWriteConstraints(StreamWriteConstraints.builder().maxNestingDepth(2000).build())
4549
.build();
4650
}
4751

4852
private static JsonFactory createYamlFactory() {
4953
return YAMLFactory.builder()
5054
.enable(StreamReadFeature.STRICT_DUPLICATE_DETECTION)
55+
.streamReadConstraints(StreamReadConstraints.builder().maxNestingDepth(2000).build())
56+
.streamWriteConstraints(StreamWriteConstraints.builder().maxNestingDepth(2000).build())
5157
.build();
5258
}
5359
}

0 commit comments

Comments
 (0)