Разница между недокументированными возможностями и уязвимостями в программном обеспечении заключается в их природе и контексте.
Недокументированные возможности (НДВ) — это возможности технических устройств и/или программного обеспечения, не отражённые в документации. 1 Чаще всего такие возможности сознательно закладываются разработчиками в целях тестирования, дальнейшего расширения функциональности, обеспечения совместимости или же в целях скрытого контроля за пользователем. 1 Также НДВ могут стать следствием побочных эффектов, не учтённых разработчиками. 1
Уязвимость — это ошибка разработчика, которая потенциально может эксплуатироваться злоумышленниками с целью получения несанкционированного доступа к управлению программным приложением. 2 Уязвимость — это код, который выполняет правильные действия с точки зрения требуемого функционала, но его исполнение имеет побочный эффект, о наличии которого программист зачастую может не знать. 2
Таким образом, недокументированные возможности связаны с функциональностью, не предусмотренной документацией, а уязвимости — с ошибками в коде, которые могут привести к угрозам безопасности.