Skip to content

Commit d1ac184

Browse files
mjambonkurt-r2c
andauthored
Ensure paths.include patterns are as intended ahead of semgrep fixes (#3630)
We're aligning paths.include/exclude behavior with Semgrepignore v2 which follows the Gitignore spec. The trick is that a glob pattern that contains a slash between two segments is now left-anchored i.e. it's the same as if it were starting with a slash as per the Gitignore spec. In these cases, the leading slash is optional but I'm adding it to make the intention clearer to readers. Examples of affected patterns include `a/b` and `a/*` but not `a/**`. I identified three kinds of rules that had such patterns in this repo: - Wordpress: wp-content/plugins -> **/wp-content/plugins - Nginx: sites-available/* -> **/sites-available/* - GitHub Actions: .github/workflows -> /.github/workflows I'm confident that the GitHub Actions folder is only at the Git project root. I'm not sure about Wordpress or Nginx projects, so I'm erring on the side of caution by prepending `**/`. Co-authored-by: Kurt Boberg <[email protected]>
1 parent b8ec83a commit d1ac184

24 files changed

+35
-35
lines changed

generic/nginx/security/alias-path-traversal.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ rules:
1414
include:
1515
- '*.conf'
1616
- '*.vhost'
17-
- sites-available/*
18-
- sites-enabled/*
17+
- '**/sites-available/*'
18+
- '**/sites-enabled/*'
1919
fix-regex:
2020
regex: location\s+([A-Za-z0-9/-_\.]+)
2121
replacement: location \1/

generic/nginx/security/dynamic-proxy-host.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ rules:
44
include:
55
- '*.conf'
66
- '*.vhost'
7-
- sites-available/*
8-
- sites-enabled/*
7+
- '**/sites-available/*'
8+
- '**/sites-enabled/*'
99
languages:
1010
- generic
1111
severity: WARNING

generic/nginx/security/dynamic-proxy-scheme.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ rules:
44
include:
55
- '*.conf'
66
- '*.vhost'
7-
- sites-available/*
8-
- sites-enabled/*
7+
- '**/sites-available/*'
8+
- '**/sites-enabled/*'
99
languages:
1010
- generic
1111
severity: WARNING

generic/nginx/security/header-injection.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ rules:
1010
include:
1111
- '*.conf'
1212
- '*.vhost'
13-
- sites-available/*
14-
- sites-enabled/*
13+
- '**/sites-available/*'
14+
- '**/sites-enabled/*'
1515
languages:
1616
- generic
1717
severity: ERROR

generic/nginx/security/header-redefinition.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ rules:
1818
include:
1919
- '*.conf'
2020
- '*.vhost'
21-
- sites-available/*
22-
- sites-enabled/*
21+
- '**/sites-available/*'
22+
- '**/sites-enabled/*'
2323
languages:
2424
- generic
2525
severity: WARNING

generic/nginx/security/insecure-redirect.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ rules:
1111
include:
1212
- '*.conf'
1313
- '*.vhost'
14-
- sites-available/*
15-
- sites-enabled/*
14+
- '**/sites-available/*'
15+
- '**/sites-enabled/*'
1616
message: >-
1717
Detected an insecure redirect in this nginx configuration.
1818
If no scheme is specified, nginx will forward the request with the

generic/nginx/security/insecure-ssl-version.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ rules:
1010
include:
1111
- '*.conf'
1212
- '*.vhost'
13-
- sites-available/*
14-
- sites-enabled/*
13+
- '**/sites-available/*'
14+
- '**/sites-enabled/*'
1515
languages:
1616
- generic
1717
severity: WARNING

generic/nginx/security/missing-internal.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ rules:
2323
include:
2424
- '*.conf'
2525
- '*.vhost'
26-
- sites-available/*
27-
- sites-enabled/*
26+
- '**/sites-available/*'
27+
- '**/sites-enabled/*'
2828
languages:
2929
- generic
3030
severity: WARNING

generic/nginx/security/missing-ssl-version.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ rules:
77
include:
88
- '*.conf'
99
- '*.vhost'
10-
- sites-available/*
11-
- sites-enabled/*
10+
- '**/sites-available/*'
11+
- '**/sites-enabled/*'
1212
languages:
1313
- generic
1414
severity: WARNING

generic/nginx/security/possible-h2c-smuggling.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ rules:
4141
include:
4242
- '*.conf'
4343
- '*.vhost'
44-
- sites-available/*
45-
- sites-enabled/*
44+
- '**/sites-available/*'
45+
- '**/sites-enabled/*'
4646
metadata:
4747
cwe:
4848
- "CWE-444: Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')"

0 commit comments

Comments
 (0)