This is an automated email from the ASF dual-hosted git repository.
juzhiyuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix-website.git
The following commit(s) were added to refs/heads/master by this push:
new 62cc6b7 docs: add CVE-2021-43557 announcement (#770)
62cc6b7 is described below
commit 62cc6b79ba9d60af26549a9d75a01d4e0013c098
Author: Sylvia <[email protected]>
AuthorDate: Wed Nov 24 09:44:13 2021 +0800
docs: add CVE-2021-43557 announcement (#770)
Co-authored-by: 琚致远 <[email protected]>
---
website/blog/2021/11/23/cve-2021-43557.md | 69 ++++++++++++++++++++++
.../2021/11/23/cve-2021-43557.md | 69 ++++++++++++++++++++++
2 files changed, 138 insertions(+)
diff --git a/website/blog/2021/11/23/cve-2021-43557.md
b/website/blog/2021/11/23/cve-2021-43557.md
new file mode 100644
index 0000000..598d9b4
--- /dev/null
+++ b/website/blog/2021/11/23/cve-2021-43557.md
@@ -0,0 +1,69 @@
+---
+title: "Apache APISIX Path traversal in request_uri variable(CVE-2021-43557)"
+author: "Sylvia"
+authorURL: "https://github.com/SylviaBABY"
+authorImageURL: "https://avatars.githubusercontent.com/u/39793568?v=4"
+keywords:
+- APISIX
+- Apache APISIX
+- Ingress Controller
+- Request_uri
+description: In versions prior to Apache APISIX 2.10.2, there was a problem of
"bypassing partial restrictions" that caused the risk of path penetration by
using the $request_uri variable in Apache APISIX Ingress Controller.
+tags: [Security]
+---
+
+> In versions prior to Apache APISIX 2.10.2, there was a problem of "bypassing
partial restrictions" that caused the risk of path penetration by using the
$request_uri variable in Apache APISIX Ingress Controller.
+
+<!--truncate-->
+
+## Problem Description
+
+In versions prior to Apache APISIX 2.10.2, there was a problem of "bypassing
partial restrictions" that caused the risk of path penetration by using the
$request_uri variable in Apache APISIX Ingress Controller.
+
+When using the `uri-blocker` plug-in to test the scenario, we found that:
+
+```shell
+$ ./apisix_request.sh "/public-service/public"
+Defaulted container "apisix" out of: apisix, wait-etcd (init)
+{"data":"public data"}
+```
+
+```shell
+$ ./apisix_request.sh "/protected-service/protected"
+Defaulted container "apisix" out of: apisix, wait-etcd (init)
+<html>
+<head><title>403 Forbidden</title></head>
+<body>
+<center><h1>403 Forbidden</h1></center>
+<hr><center>openresty</center>
+</body>
+</html>
+```
+
+In both scenarios, `public-service` is available and `protected-service` is
blocked by plug-ins. After the verification and testing of the above scenarios,
it is found that both cases can bypass the limitations of Uri.
+
+Due to the improper use of `ctx.var.require_uri` variables by the
`uri-blocker` plug-in, the following results:
+
+- Attacker can bypass access control restrictions and perform successful
access to routes that shouldn’t be able to;
+- Developers of custom plugins have no knowledge that `ngx.var.request_uri`
variable is untrusted.
+
+## Affected Versions
+
+All versions of Apache APISIX prior to 2.10.2 (excluding 2.10.2)
+
+## Solution
+
+This issue has been resolved in version
[2.10.2](http://apisix.apache.org/downloads/) +, please update to the relevant
version as soon as possible.
+
+In case of custom plugins, we suggest to do path normalization before using
`ngx.var.request_uri` variable. There are also two other variables, high
probably normalized, to check `ctx.var.upstream_uri` and `ctx.var.uri`.
+
+## Vulnerability details
+
+Vulnerability public date: November 22, 2021
+CVE details: https://nvd.nist.gov/vuln/detail/CVE-2021-43557
+
+## Contributor Profile
+
+The vulnerability was discovered by community user Marcin Niemiec
(GitHub[@xvnpw](https://github.com/xvnpw)) and reported to the Apache Software
Foundation in a timely manner.
+
+Thanks to Marcin Niemiec for his contribution to the Apache APISIX community.
diff --git
a/website/i18n/zh/docusaurus-plugin-content-blog/2021/11/23/cve-2021-43557.md
b/website/i18n/zh/docusaurus-plugin-content-blog/2021/11/23/cve-2021-43557.md
new file mode 100644
index 0000000..101a517
--- /dev/null
+++
b/website/i18n/zh/docusaurus-plugin-content-blog/2021/11/23/cve-2021-43557.md
@@ -0,0 +1,69 @@
+---
+title: "Apache APISIX request_uri 变量控制不当,存在路径遍历风险公告(CVE-2021-43557)"
+author: "苏钰"
+authorURL: "https://github.com/SylviaBABY"
+authorImageURL: "https://avatars.githubusercontent.com/u/39793568?v=4"
+keywords:
+- APISIX
+- Apache APISIX
+- Ingress Controller
+- Request_uri
+description: 在 Apache APISIX 2.10.2 之前的版本中,使用 Apache APISIX Ingress Controller
中$request_uri 变量存在「绕过部分限制」导致路径穿透风险的处理公告。
+tags: [Security]
+---
+
+> 在 Apache APISIX 2.10.2 之前的版本中,使用 Apache APISIX Ingress Controller
中$request_uri 变量存在「绕过部分限制」导致路径穿透风险的处理公告。
+
+<!--truncate-->
+
+## 问题描述
+
+在 Apache APISIX 2.10.2 之前的版本中,使用 Apache APISIX Ingress Controller
中$request_uri 变量存在「绕过部分限制」导致路径穿透风险的问题。
+
+在使用 uri-blocker 插件进行测试场景时发现:
+
+```shell
+$ ./apisix_request.sh "/public-service/public"
+Defaulted container "apisix" out of: apisix, wait-etcd (init)
+{"data":"public data"}
+```
+
+```shell
+$ ./apisix_request.sh "/protected-service/protected"
+Defaulted container "apisix" out of: apisix, wait-etcd (init)
+<html>
+<head><title>403 Forbidden</title></head>
+<body>
+<center><h1>403 Forbidden</h1></center>
+<hr><center>openresty</center>
+</body>
+</html>
+```
+
+在上述两种场景下,`public-service` 是可用的,`protected-service`
则被插件阻止了。后续对上述场景进行验证测试,发现两种情况均能绕过 Uri 的限制。
+
+由于 `uri-blocker` 插件使用 `ctx.var.require_uri` 变量不当,导致:
+
+- 攻击者可以绕过访问控制限制逻辑,访问本应该禁止的 API;
+- 自定义插件的开发者或许不知道 `ngx.var.request_uri` 变量是不可信任的。
+
+## 影响版本
+
+Apache APISIX 2.10.2 之前的所有版本(不包含 2.10.2)
+
+## 解决方案
+
+该问题目前已在 [2.10.2](http://apisix.apache.org/downloads/)+ 版本中得到解决,请尽快更新至相关版本。
+
+操作建议:如果在使用自定义插件时,可在使用 `ngx.var.request_uri` 变量前进行路径规范化的相关处理。同时额外检查下
`ctx.var.upstream_uri` 和 `ctx.var.uri` 这两个变量,虽然可能已经被规范化了,但防患于未然。
+
+## 漏洞详情
+
+漏洞公开时间:2021 年 11 月 22 日
+CVE 详细信息:https://nvd.nist.gov/vuln/detail/CVE-2021-43557
+
+## 贡献者简介
+
+该漏洞由社区用户 Marcin Niemiec(GitHub[@xvnpw](https://github.com/xvnpw))发现,并及时向
Apache 软件基金会上报该漏洞。
+
+感谢 Marcin Niemiec 对 Apache APISIX 社区的贡献。