From 0218a34008f22c8c5ae4a35d0d71ef4c7a1c3c05 Mon Sep 17 00:00:00 2001 From: Yong Tang Date: Sun, 26 Jun 2022 16:06:43 -0700 Subject: [PATCH] Fix out-of-index issue in rewrite plugin (#5462) This PR fixes another out-of-index issue in rewrite to avoid security vuln. Signed-off-by: Yong Tang --- plugin/rewrite/rewrite.go | 3 +++ plugin/rewrite/setup_test.go | 1 + 2 files changed, 4 insertions(+) diff --git a/plugin/rewrite/rewrite.go b/plugin/rewrite/rewrite.go index b676a1f2d..b28352cbd 100644 --- a/plugin/rewrite/rewrite.go +++ b/plugin/rewrite/rewrite.go @@ -100,6 +100,9 @@ func newRule(args ...string) (Rule, error) { switch arg0 { case Continue: mode = Continue + if len(args) < 2 { + return nil, fmt.Errorf("continue rule must begin with a rule type") + } ruleType = strings.ToLower(args[1]) expectNumArgs = len(args) - 1 startArg = 2 diff --git a/plugin/rewrite/setup_test.go b/plugin/rewrite/setup_test.go index 128f3d11c..dcc10cd87 100644 --- a/plugin/rewrite/setup_test.go +++ b/plugin/rewrite/setup_test.go @@ -33,6 +33,7 @@ func TestParse(t *testing.T) { name regex foo bar }`, true, "must begin with a name rule"}, {`rewrite stop`, true, ""}, + {`rewrite continue`, true, ""}, } for i, test := range tests {