Knowledge Base
Safe Active CORS Preflight Check
Safe Active CORS Preflight Check
Категория: Web App Security · Риск: high
Safe Active CORS Preflight Check
Что проверяет NodeRoute
NodeRoute отправляет безопасный `OPTIONS` preflight с тестовым внешним `Origin` и смотрит, доверяет ли сайт произвольному домену.
Проверка не отправляет cookie, токены, формы и payloads.
Почему это важно
Если сервер отражает любой `Origin` и одновременно отдаёт:
Access-Control-Allow-Credentials: true
чужой сайт может получить доступ к ответам API в браузере авторизованного пользователя.
Нормальный результат
- CORS-заголовков нет;
- `Origin` из тестового домена не отражается;
- credentials не разрешены для чужого origin;
- публичный wildcard используется только для статических публичных ресурсов.
Рискованный результат
Access-Control-Allow-Origin: https://noderoute-cors-probe.invalid
Access-Control-Allow-Credentials: true
Это признак reflective CORS.
Как исправить
Используйте allowlist:
ALLOWED_ORIGINS = {
"https://example.com",
"https://app.example.com",
}
Не используйте автоматическое отражение `Origin` без проверки.
Связанные проверки
- [CORS Misconfiguration](/kb/web_app_security/cors-misconfiguration-check)
- [Safe Active Diagnostics](/kb/monitoring/safe-active-diagnostics)