diff options
| author | GrapeApple0 <84321396+GrapeApple0@users.noreply.github.com> | 2024-01-14 15:57:26 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-14 15:57:26 +0900 |
| commit | ec4e57bb67077d887308df91b1c00be87689f6e9 (patch) | |
| tree | eae33fe4024c6167479ac2fd728aa7942cd326cb | |
| parent | enhance(frontend): Playの説明欄にMFMを使えるように (#12899) (diff) | |
| download | sharkey-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.md | 1 | ||||
| -rw-r--r-- | packages/backend/src/core/DownloadService.ts | 3 |
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; } } |