Вызывает ли ошибка «java.lang.OutOfMemoryError» какие-либо проблемы с безопасностью? - PullRequest
0 голосов
/ 04 октября 2019

недавно пользователь в нашей программе также обнаружил следующую ошибку и сообщил нам: java.lang.OutOfMemoryError: Failed to allocate a 3029656 byte allocation with 2838072 free bytes and 2MB until OOM, max allowed footprint 268435456, growth limit 268435456

Я обнаружил, что эта ошибка вызывает DoS. Как вы думаете, злоумышленники могут извлечь выгоду из этой ошибки? (Как переполнение буфера.)

Я новичок в Java и жду ваших комментариев. Спасибо.

1 Ответ

0 голосов
/ 04 октября 2019

Нет, Java разработан для обеспечения безопасности, поэтому он работает на виртуальной машине.

Например, можно переполнить буфер в Clang и перезаписать память: https://en.wikipedia.org/wiki/Buffer_overflow#Buffer_overflow_protection

Языки, которые строго типизированы и не допускают прямого доступа к памяти, такие как COBOL, Java, Python и другие, в большинстве случаев предотвращают переполнение буфера.

...