This demo application partially covers the vulnerability CVE-2024-38828# sprig-mvc-demo-patch
This demo application partially covers the vulnerability CVE-2024-38828
Уязвимость CVE-2024-38828 в Spring Framework позволяет провести атаку типа "Отказ в обслуживании" (DoS), отправляя большой или специально сформированный запрос к контроллеру Spring MVC, который принимает параметр типа byte[]. Это может вызвать перегрузку памяти, процессора и сбой приложения из-за нехватки ресурсов.
В моем демо приложении я использую кастомный конвертор для покрытия уязвимости связанной с загрузкой файлов большого размера.
Для полного покрытия уязвимости необходимо устанавливатьв сервелете таймауты - для защиты от медленных атак и оптимизировать обработку multipart/form-data и raw body-запросов, чтобы не было избыточного выделения памяти.
Уязвимость CVE-2024-38828 устранена в версиях Spring выше 5.3.33.
[4.0K] /data/pocs/2dc38c22b05b5c3299529c7baec9b7dca29fabb6
├── [2.4K] pom.xml
├── [1.3K] README.md
└── [4.0K] src
├── [4.0K] main
│ ├── [4.0K] java
│ │ └── [4.0K] com
│ │ └── [4.0K] memlastic
│ │ ├── [ 397] App.java
│ │ ├── [4.0K] config
│ │ │ └── [ 861] WebConfig.java
│ │ ├── [4.0K] controller
│ │ │ └── [ 407] TestController.java
│ │ ├── [4.0K] converter
│ │ │ └── [1.8K] ByteArrayConverter.java
│ │ ├── [4.0K] exception
│ │ │ └── [ 206] DataLimitExceededException.java
│ │ └── [4.0K] properties
│ │ └── [ 463] AppConfig.java
│ └── [4.0K] resources
│ └── [ 15] application.yml
└── [4.0K] test
├── [4.0K] java
│ └── [4.0K] com
│ └── [4.0K] memlastic
│ └── [4.0K] controller
│ └── [1.9K] TestControllerTest.java
└── [4.0K] resources
├── [ 15] application.yml
├── [1.9M] bigFile.json
└── [843K] smallFile.json
17 directories, 13 files