Skip to content

Commit 195945e

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

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

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

Lines changed: 10 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;
@@ -36,6 +38,14 @@ private static ObjectMapper create(JsonFactory jsonFactory, boolean includePathD
3638
mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
3739
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
3840

41+
// Configure stream constraints for deep nesting
42+
mapper.getFactory().setStreamReadConstraints(
43+
StreamReadConstraints.builder().maxNestingDepth(5000).build()
44+
);
45+
mapper.getFactory().setStreamWriteConstraints(
46+
StreamWriteConstraints.builder().maxNestingDepth(5000).build()
47+
);
48+
3949
return mapper;
4050
}
4151

0 commit comments

Comments
 (0)