https://github.com/nginx/nginx ·
lang: c ·
LOC: ·
source: user_submitted
| Rule | Severity | Count |
|---|---|---|
AIC003 Duplicated implementation block across source files |
low | 30 |
MINED004 Weak Crypto |
high | 4 |
SEC029 Server-Side Request Forgery (SSRF) — outbound HTTP from use… |
high | 4 |
MINED075 C Malloc No Check |
info | 3 |
SEC045 eval()/exec() on stored or user-supplied data |
medium | 3 |
MINED115 GitHub Action pinned to mutable ref (not 40-char SHA) |
high | 2 |
SEC013 Path Traversal — User Input in File Path |
high | 1 |
CORE_LARGE_FILES Average file size is 1080 lines (recommend <300) |
medium | 1 |
CORE_NO_TESTS No test files found |
high | 1 |
CORE_NO_TESTS
No test files found
No test files found
MINED004
Weak Crypto
CWE-327
src/core/ngx_crypt.c:58
· conf 1.00
[MINED004] Weak Crypto: MD5/SHA1/DES/RC4 used for security context (not just checksums).
MINED004
Weak Crypto
CWE-327
src/http/modules/ngx_http_secure_link_module.c:16
· conf 1.00
[MINED004] Weak Crypto: MD5/SHA1/DES/RC4 used for security context (not just checksums).
MINED004
Weak Crypto
CWE-327
src/mail/ngx_mail_imap_module.c:31
· conf 1.00
[MINED004] Weak Crypto: MD5/SHA1/DES/RC4 used for security context (not just checksums).
MINED115
GitHub Action pinned to mutable ref (not 40-char SHA)
CWE-829
.github/workflows/buildbot.yml:11
· conf 0.90
[MINED115] Action `nginx/ci-self-hosted/.github/workflows/nginx-buildbot.yml` pinned to mutable ref `@main`: `uses: nginx/ci-self-hosted/.github/workflows/nginx-buildbot.yml@main` resolves at workflo…
MINED115
GitHub Action pinned to mutable ref (not 40-char SHA)
CWE-829
.github/workflows/check-pr.yml:8
· conf 0.90
[MINED115] Action `nginx/ci-self-hosted/.github/workflows/nginx-check-pr.yml` pinned to mutable ref `@main`: `uses: nginx/ci-self-hosted/.github/workflows/nginx-check-pr.yml@main` resolves at workflo…
SEC013
Path Traversal — User Input in File Path
src/http/ngx_http_cache.h:193
· conf 0.80
[SEC013] Path Traversal — User Input in File Path: User-controlled input used in file path without sanitization. Allows reading arbitrary files.
SEC029
Server-Side Request Forgery (SSRF) — outbound HTTP from user input
src/core/ngx_inet.h:123
· conf 1.00
[SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTTP request to a user-controlled URL without allowlist validation. Attackers can probe internal services (169.25…
SEC029
Server-Side Request Forgery (SSRF) — outbound HTTP from user input
src/core/ngx_string.h:190
· conf 1.00
[SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTTP request to a user-controlled URL without allowlist validation. Attackers can probe internal services (169.25…
SEC029
Server-Side Request Forgery (SSRF) — outbound HTTP from user input
src/core/ngx_syslog.c:130
· conf 1.00
[SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTTP request to a user-controlled URL without allowlist validation. Attackers can probe internal services (169.25…
CORE_LARGE_FILES
Average file size is 1080 lines (recommend <300)
Average file size is 624 lines (recommend <300)
SEC045
eval()/exec() on stored or user-supplied data
src/core/ngx_regex.h:64
· conf 1.00
[SEC045] eval()/exec() on stored or user-supplied data: eval() and exec() on data — even admin-stored data — is a lateral-movement vector after any one credential compromise. Sandboxes (__builtins__ …
SEC045
eval()/exec() on stored or user-supplied data
src/http/ngx_http_variables.h:88
· conf 1.00
[SEC045] eval()/exec() on stored or user-supplied data: eval() and exec() on data — even admin-stored data — is a lateral-movement vector after any one credential compromise. Sandboxes (__builtins__ …
SEC045
eval()/exec() on stored or user-supplied data
src/stream/ngx_stream_variables.h:84
· conf 1.00
[SEC045] eval()/exec() on stored or user-supplied data: eval() and exec() on data — even admin-stored data — is a lateral-movement vector after any one credential compromise. Sandboxes (__builtins__ …
AIC003
Duplicated implementation block across source files
src/core/ngx_sha1.c:15
· conf 0.86
Duplicated implementation block across source files
AIC003
Duplicated implementation block across source files
src/event/modules/ngx_epoll_module.c:498
· conf 0.86
Duplicated implementation block across source files
AIC003
Duplicated implementation block across source files
src/event/modules/ngx_select_module.c:39
· conf 0.86
Duplicated implementation block across source files
AIC003
Duplicated implementation block across source files
src/event/modules/ngx_win32_poll_module.c:12
· conf 0.86
Duplicated implementation block across source files
AIC003
Duplicated implementation block across source files
src/event/modules/ngx_win32_select_module.c:1
· conf 0.86
Duplicated implementation block across source files
AIC003
Duplicated implementation block across source files
src/event/modules/ngx_win32_select_module.c:41
· conf 0.86
Duplicated implementation block across source files
AIC003
Duplicated implementation block across source files
src/event/ngx_event_acceptex.c:141
· conf 0.86
Duplicated implementation block across source files
AIC003
Duplicated implementation block across source files
src/event/ngx_event_udp.c:26
· conf 0.86
Duplicated implementation block across source files
AIC003
Duplicated implementation block across source files
src/event/ngx_event_udp.c:271
· conf 0.86
Duplicated implementation block across source files
AIC003
Duplicated implementation block across source files
src/event/quic/ngx_event_quic_udp.c:9
· conf 0.86
Duplicated implementation block across source files
AIC003
Duplicated implementation block across source files
src/event/quic/ngx_event_quic_udp.c:24
· conf 0.86
Duplicated implementation block across source files
AIC003
Duplicated implementation block across source files
src/http/modules/ngx_http_chunked_filter_module.c:22
· conf 0.86
Duplicated implementation block across source files
AIC003
Duplicated implementation block across source files
src/http/modules/ngx_http_gunzip_filter_module.c:68
· conf 0.86
Duplicated implementation block across source files
AIC003
Duplicated implementation block across source files
src/http/modules/ngx_http_gzip_filter_module.c:528
· conf 0.86
Duplicated implementation block across source files
AIC003
Duplicated implementation block across source files
src/http/modules/ngx_http_gzip_static_module.c:90
· conf 0.86
Duplicated implementation block across source files
AIC003
Duplicated implementation block across source files
src/http/modules/ngx_http_headers_filter_module.c:127
· conf 0.86
Duplicated implementation block across source files
AIC003
Duplicated implementation block across source files
src/http/modules/ngx_http_limit_conn_module.c:231
· conf 0.86
Duplicated implementation block across source files
AIC003
Duplicated implementation block across source files
src/http/modules/ngx_http_limit_req_module.c:267
· conf 0.86
Duplicated implementation block across source files
AIC003
Duplicated implementation block across source files
src/http/modules/ngx_http_limit_req_module.c:268
· conf 0.86
Duplicated implementation block across source files
AIC003
Duplicated implementation block across source files
src/http/modules/ngx_http_limit_req_module.c:483
· conf 0.86
Duplicated implementation block across source files
AIC003
Duplicated implementation block across source files
src/http/modules/ngx_http_not_modified_filter_module.c:19
· conf 0.86
Duplicated implementation block across source files
AIC003
Duplicated implementation block across source files
src/http/modules/ngx_http_random_index_module.c:76
· conf 0.86
Duplicated implementation block across source files
AIC003
Duplicated implementation block across source files
src/http/modules/ngx_http_range_filter_module.c:63
· conf 0.86
Duplicated implementation block across source files
AIC003
Duplicated implementation block across source files
src/http/modules/ngx_http_range_filter_module.c:64
· conf 0.86
Duplicated implementation block across source files
AIC003
Duplicated implementation block across source files
src/http/modules/ngx_http_split_clients_module.c:90
· conf 0.86
Duplicated implementation block across source files
AIC003
Duplicated implementation block across source files
src/http/modules/ngx_http_static_module.c:55
· conf 0.86
Duplicated implementation block across source files
AIC003
Duplicated implementation block across source files
src/http/modules/ngx_http_static_module.c:144
· conf 0.86
Duplicated implementation block across source files
AIC003
Duplicated implementation block across source files
src/http/modules/ngx_http_sub_filter_module.c:102
· conf 0.86
Duplicated implementation block across source files
AIC003
Duplicated implementation block across source files
src/http/modules/ngx_http_try_files_module.c:141
· conf 0.86
Duplicated implementation block across source files
AIC003
Duplicated implementation block across source files
src/http/modules/ngx_http_tunnel_module.c:270
· conf 0.86
Duplicated implementation block across source files
MINED004
Weak Crypto
CWE-327
· conf 0.20
[MINED004] Weak Crypto (and 2 more): Same pattern found in 2 additional files. Review if needed.
MINED075
C Malloc No Check
CWE-690
src/os/unix/ngx_alloc.c:22
· conf 1.00
[MINED075] C Malloc No Check: malloc/calloc/realloc return value used without checking for NULL.
MINED075
C Malloc No Check
CWE-690
src/os/unix/ngx_errno.c:175
· conf 1.00
[MINED075] C Malloc No Check: malloc/calloc/realloc return value used without checking for NULL.
MINED075
C Malloc No Check
CWE-690
src/os/win32/ngx_alloc.c:21
· conf 1.00
[MINED075] C Malloc No Check: malloc/calloc/realloc return value used without checking for NULL.
SEC029
Server-Side Request Forgery (SSRF) — outbound HTTP from user input
· conf 0.20
[SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input (and 1 more): Same pattern found in 1 additional files. Review if needed.
Reading from rp.scan + rp.finding + rp.rule (unified schema, R78 series). Legacy data path unchanged. Compare with /scan/9f08cd24-08f7-4a0a-8ed3-f69967e24690/.