Уязвимость – брешь в компьютерной системе, использование которой, приводить к нарушению целостности системы и некорректной работе. Уязвимости появляются в результате ошибок программирования, недостатков, которые допускались при проектировании системы, ненадежных паролей, вредоносных программ, скриптовых и SQL-инъекций.
Уязвимости позволяют атакующему нарушить корректную работу приложения, к примеру, с помощью внедрения данных незапланированным способом; выполнения команды на системе, на которой выполняется данное приложение; или, используя упущение, которое позволяет получить доступ к памяти для выполнения кода на уровне привилегий программы. Запись данных в буфер, без проверки его границ, приводит к переполнению буфера и как результат происходит выполнение произвольного кода. Это также является уязвимостью. В результате недостаточной проверки данных, вводимых пользователем, возникает уязвимость, которая позволяет напрямую выполнить SQL (SQL-инъекции).
Уязвимости были обнаружены во всех основных операционных системах, включая Microsoft Windows, Mac OS, UNIX и OpenVMS.