summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrapeApple0 <84321396+GrapeApple0@users.noreply.github.com>2024-01-14 15:57:26 +0900
committerGitHub <noreply@github.com>2024-01-14 15:57:26 +0900
commitec4e57bb67077d887308df91b1c00be87689f6e9 (patch)
treeeae33fe4024c6167479ac2fd728aa7942cd326cb
parentenhance(frontend): Playの説明欄にMFMを使えるように (#12899) (diff)
downloadsharkey-ec4e57bb67077d887308df91b1c00be87689f6e9.tar.gz
sharkey-ec4e57bb67077d887308df91b1c00be87689f6e9.tar.bz2
sharkey-ec4e57bb67077d887308df91b1c00be87689f6e9.zip
fix: isPrivateIpで検証時にipバージョンが一致するかを確認するように (#12988)
* fix: isPrivateIpで検証時にipバージョンが一致するかを確認するように * Update CHANGELOG.md * Update CHANGELOG.md
-rw-r--r--CHANGELOG.md1
-rw-r--r--packages/backend/src/core/DownloadService.ts3
2 files changed, 3 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2518eebed2..9f1fdcf9ee 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -42,6 +42,7 @@
- Fix: `drive/files/update`でファイル名のバリデーションが機能していない問題を修正
- Fix: `notes/create`で、`text`が空白文字のみで構成されているか`null`であって、かつ`text`だけであるリクエストに対するレスポンスが400になるように変更
- Fix: `notes/create`で、`text`が空白文字のみで構成されていてかつリノート、ファイルまたは投票を含んでいるリクエストに対するレスポンスの`text`が`""`から`null`になるように変更
+- Fix: ipv4とipv6の両方が利用可能な環境でallowedPrivateNetworksが設定されていた場合プライベートipの検証ができていなかった問題を修正
## 2023.12.2
diff --git a/packages/backend/src/core/DownloadService.ts b/packages/backend/src/core/DownloadService.ts
index 5474272b00..5e196e83dd 100644
--- a/packages/backend/src/core/DownloadService.ts
+++ b/packages/backend/src/core/DownloadService.ts
@@ -145,7 +145,8 @@ export class DownloadService {
const parsedIp = ipaddr.parse(ip);
for (const net of this.config.allowedPrivateNetworks ?? []) {
- if (parsedIp.match(ipaddr.parseCIDR(net))) {
+ const cidr = ipaddr.parseCIDR(net);
+ if (cidr[0].kind() === parsedIp.kind() && parsedIp.match(ipaddr.parseCIDR(net))) {
return false;
}
}