{"id":"CVE-2021-43795","aliases":["EUVD-2021-2484","GHSA-8fp4-rp6c-5gcv","ROOT-APP-MAVEN-CVE-2021-43795"],"status":"published","title":"Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') in com.linecorp.armeria:armeria","description":"Armeria is an open source microservice framework. In affected versions an attacker can access an Armeria server's local file system beyond its restricted directory by sending an HTTP request whose path contains `%2F` (encoded `/`), such as `/files/..%2Fsecrets.txt`, bypassing Armeria's path validation logic. Armeria 1.13.4 or above contains the hardened path validation logic that handles `%2F` properly. This vulnerability can be worked around by inserting a decorator that performs an additional validation on the request path.","severity":{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.01692,"percentile":0.77292,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-22"],"published":"2021-12-02T18:00:11Z","modified":"2026-10-20T14:34:29Z","fixes":[{"ecosystem":"Maven","package":"com.linecorp.armeria:armeria","fixed_in":["1.13.4"],"sources":["ghsa","osv"]},{"ecosystem":"Root:Maven","package":"com.linecorp.armeria:armeria","fixed_in":["1.13.4-aikido.1"],"sources":["osv"]},{"ecosystem":"Root:Maven","package":"io.root.com.linecorp.armeria:armeria","fixed_in":["1.13.4-root.io.1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"com.linecorp.armeria:armeria","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.12.0"},{"fixed":"1.13.4"}]}]},{"source":"osv","ecosystem":"Maven","package":"com.linecorp.armeria:armeria","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.12.0"},{"fixed":"1.13.4"}]}],"versions":["1.12.0","1.13.0","1.13.1","1.13.2","1.13.3"]},{"source":"osv","ecosystem":"Root:Maven","package":"com.linecorp.armeria:armeria","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.13.4-aikido.1"}]}]},{"source":"osv","ecosystem":"Root:Maven","package":"io.root.com.linecorp.armeria:armeria","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.13.4-root.io.1"}]}]}],"products":[{"vendor":"line","product":"armeria"},{"vendor":"line corporation","product":"armeria"},{"vendor":"linecorp","product":"armeria"}],"references":[{"url":"https://github.com/line/armeria/security/advisories/GHSA-8fp4-rp6c-5gcv","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://github.com/line/armeria/pull/3855","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://github.com/line/armeria/commit/e2697a575e9df6692b423e02d731f293c1313284","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-43795","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-8fp4-rp6c-5gcv"},{"url":"https://github.com/line/armeria","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2021-43795","title":"Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') in com.linecorp.armeria:armeria","description":"Armeria is an open source microservice framework. In affected versions an attacker can access an Armeria server's local file system beyond its restricted directory by sending an HTTP request whose path contains `%2F` (encoded `/`), such as `/files/..%2Fsecrets.txt`, bypassing Armeria's path validation logic. Armeria 1.13.4 or above contains the hardened path validation logic that handles `%2F` properly. This vulnerability can be worked around by inserting a decorator that performs an additional validation on the request path.","status":"published","published":"2021-12-02T18:00:11Z","modified":"2024-08-04T04:03:08.81Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high","assessor":"cna"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T14:32:56.689433Z"}],"euvd":[{"id":"EUVD-2021-2484","description":"Armeria is an open source microservice framework. In affected versions an attacker can access an Armeria server's local file system beyond its restricted directory by sending an HTTP request whose path contains `%2F` (encoded `/`), such as `/files/..%2Fsecrets.txt`, bypassing Armeria's path validation logic. Armeria 1.13.4 or above contains the hardened path validation logic that handles `%2F` properly. This vulnerability can be worked around by inserting a decorator that performs an additional validation on the request path.","status":"published","published":"2021-12-02T18:00:11Z","modified":"2024-08-04T04:03:08Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"updated_at":"2026-11-03T03:24:13.772922Z"}],"ghsa":[{"id":"GHSA-8fp4-rp6c-5gcv","title":"Path Traversal in com.linecorp.armeria:armeria","description":"### Impact\n\nAn attacker can access an Armeria server's local file system beyond its restricted directory by sending an HTTP request whose path contains `%2F` (encoded `/`), such as `/files/..%2Fsecrets.txt`, bypassing Armeria's path validation logic.\n\n### Patches\n\nArmeria 1.13.4 or above contains the hardened path validation logic that handles `%2F` properly. \n\n### Workarounds\n\nThis vulnerability can be worked around by inserting a decorator that performs an additional validation on the request path, e.g.\n\n```java\nServer\n  .builder()\n  .serviceUnder(\n    \"/files\",\n    FileService\n      .of(...)\n      .decorate((delegate, ctx, req) -\u003e {\n        String path = req.headers().path();\n        if (path.contains(\"%2f\") || path.contains(\"%2F\")) {\n          return HttpResponse.of(HttpStatus.BAD_REQUEST);\n        }\n        return delegate.serve(ctx, req);\n      })\n  )\n  .build()\n```\n\n### For more information\n\nIf you have any questions or comments about this advisory:\n* Open an issue in [line/armeria](https://github.com/line/armeria)\n* Chat with us at [Slack](https://armeria.dev/s/slack)\n\n### Credits\n\nThis vulnerability was originally reported by Abdallah Zaher ([elcayser-0x0a](https://hackerone.com/elcayser-0x0a?type=user)).","status":"published","published":"2021-12-02T22:25:54Z","modified":"2023-02-01T05:06:46Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T14:36:39.76883Z"}],"nvd":[{"id":"CVE-2021-43795","description":"Armeria is an open source microservice framework. In affected versions an attacker can access an Armeria server's local file system beyond its restricted directory by sending an HTTP request whose path contains `%2F` (encoded `/`), such as `/files/..%2Fsecrets.txt`, bypassing Armeria's path validation logic. Armeria 1.13.4 or above contains the hardened path validation logic that handles `%2F` properly. This vulnerability can be worked around by inserting a decorator that performs an additional validation on the request path.","status":"published","published":"2021-12-02T18:15:08.267Z","modified":"2026-06-17T04:11:27.303Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high","assessor":"secondary"},{"version":"2.0","score":5,"vector":"AV:N/AC:L/Au:N/C:P/I:N/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T14:07:01.811115Z"}],"osv":[{"id":"CVE-2021-43795","description":"Armeria is an open source microservice framework. In affected versions an attacker can access an Armeria server's local file system beyond its restricted directory by sending an HTTP request whose path contains `%2F` (encoded `/`), such as `/files/..%2Fsecrets.txt`, bypassing Armeria's path validation logic. Armeria 1.13.4 or above contains the hardened path validation logic that handles `%2F` properly. This vulnerability can be worked around by inserting a decorator that performs an additional validation on the request path.","status":"published","published":"2021-12-02T18:15:08.267Z","modified":"2026-10-20T14:34:29.819485945Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"updated_at":"2026-11-02T15:44:21.877444Z"},{"id":"GHSA-8fp4-rp6c-5gcv","title":"Path Traversal in com.linecorp.armeria:armeria","description":"### Impact\n\nAn attacker can access an Armeria server's local file system beyond its restricted directory by sending an HTTP request whose path contains `%2F` (encoded `/`), such as `/files/..%2Fsecrets.txt`, bypassing Armeria's path validation logic.\n\n### Patches\n\nArmeria 1.13.4 or above contains the hardened path validation logic that handles `%2F` properly. \n\n### Workarounds\n\nThis vulnerability can be worked around by inserting a decorator that performs an additional validation on the request path, e.g.\n\n```java\nServer\n  .builder()\n  .serviceUnder(\n    \"/files\",\n    FileService\n      .of(...)\n      .decorate((delegate, ctx, req) -\u003e {\n        String path = req.headers().path();\n        if (path.contains(\"%2f\") || path.contains(\"%2F\")) {\n          return HttpResponse.of(HttpStatus.BAD_REQUEST);\n        }\n        return delegate.serve(ctx, req);\n      })\n  )\n  .build()\n```\n\n### For more information\n\nIf you have any questions or comments about this advisory:\n* Open an issue in [line/armeria](https://github.com/line/armeria)\n* Chat with us at [Slack](https://armeria.dev/s/slack)\n\n### Credits\n\nThis vulnerability was originally reported by Abdallah Zaher ([elcayser-0x0a](https://hackerone.com/elcayser-0x0a?type=user)).","status":"published","published":"2021-12-02T22:25:54Z","modified":"2026-07-08T06:28:32.358987072Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T15:46:42.437513Z"},{"id":"ROOT-APP-MAVEN-CVE-2021-43795","title":"CVE-2021-43795 in com.linecorp.armeria:armeria - Patched by Root","description":"Root has patched CVE-2021-43795 in the com.linecorp.armeria:armeria package for Root:Maven. Multiple fixed versions available.","status":"published","published":"2026-10-01T13:44:05Z","modified":"2026-10-01T14:15:04.691466948Z","updated_at":"2026-11-02T15:53:27.066589Z"}]}}
