さくらのクラウドニュース

さくらのクラウドの最新情報や、開発に役立つ技術情報をお届けします。

おしらせ

【重要】さくらのクラウドAPIの不具合に関するお知らせとお詫び

平素よりさくらのクラウドをご利用いただき、誠にありがとうございます。

さくらのクラウドにてご提供しております特定のAPIを利用するとディスク名を含む一部情報がさくらのクラウドをご利用の他のお客様からも参照可能となっていたことが弊社調査により判明いたしました。


お客様には大変なご迷惑とご心配をおかけする事となりましたこと、深くお詫び申し上げます。

詳細につきまして、以下の通りご報告いたします。

さくらのクラウドAPIに関するご報告

1.発生期間

2017年2月1日(水)から2023年6月29日(木)17時26分まで

2.対象

発生期間中にバンドル情報付きディスクを作成されたお客様

3.影響

特定APIのエンドポイントにて、バンドル情報が付与されたディスクを作成されているお客様のディスク情報の一部が他のお客様より参照可能な状態となっておりました。

参照できる状態となっていた主なディスクの情報は以下の通りです。

・バンドル情報:ディスクに付与されているWindowsなどの属性情報
・ディスク名称:お客様がディスクに付与した名称
・ディスクサイズ:お客様が契約されているディスクサイズ

※本来、本APIはご利用のディスク情報をご契約者様のみが参照するものであり、ディスク内に保存された情報等の参照機能は有しておりません。
 同様に接続先サーバ情報(サーバ名やIPアドレス、プラン等)も参照できません。
 なお、バンドル情報が付与されていないディスクの情報については本不具合の影響はございません。

ディスクにバンドル情報が付与されるアーカイブおよび当該エンドポイントのレスポンス情報については本記事後半の「サポート情報」をご確認ください。

4.判明経緯

2023年6月29日(木)16時48分頃、弊社内の業務改善活動においてAPIの現状調査を実施していたところ、当該エンドポイントでご契約者様以外のお客様からもディスク情報が参照可能であることが判明いたしました。

5.対応

2023年6月29日(木)17時26分に当該エンドポイントを廃止するとともに、全てのエンドポイントの調査を行い、他のお客様の情報が参照できるエンドポイントが存在しないことを確認いたしました。

6.原因

公開当時、十分な検証が行えておらず適切な公開範囲の設定ができていないAPIがリリースされました。

7.再発防止策

弊社では今回の事態を重く受け止め、今後このような事態を起こすことが無いよう、より確実なシステム開発を実施すべく開発の各プロセスにおけるレビューおよび検証フローや運用ルールの見直しを実施いたしました。

この度は、お客様に多大なご迷惑をおかけし、誠に申し訳ございませんでした。

ご不明な点やご質問等ございましたら、以下のページよりお問い合わせください。
https://help.sakura.ad.jp/contact/

今後ともさくらインターネットをよろしくお願いいたします。

サポート情報(Q&A)

バンドル情報が付与されたディスクとはなんですか。

弊社が提供しております以下のアーカイブを元に作成されたディスクにバンドル情報が付与されます。

分類 アーカイブ名 バンドル情報
Windows Server Windows Server Datacenter Edition OS/Windows Server Datacenter エディション
Windows Server for RDS OS/Windows Server for リモートデスクトップ
Windows Server for RDS(MS Office付) OS/Windows Server for リモートデスクトップ(MS Office付き)
Windows Server for MS SQL(Web) Windows Server for MS SQL(Web/XCore)
Windows Server for MS SQL(Standard) Windows Server for MS SQL(Standard/XCore)
Windows Server for MS SQL(Enterprise) Windows Server for MS SQL(Enterprise/XCore)
Windows Server for MS SQL (Std) with RDS / MS Office Windows Server for MS SQL(Enterprise/XCore)
マーケットプレイス FortiGateVM FortiGateVM(アーカイブ)
Juniper vSRX スタンダード OS/Juniper vSRX Virtual Firewall(スタンダード)
Juniper vSRX アプリケーションセキュリティ OS/Juniper vSRX Virtual Firewall(アプリケーションセキュリティ)
Juniper vSRX コンテンツセキュリティ OS/Juniper vSRX Virtual Firewall(コンテンツセキュリティ)
Netwiser VE OS/Netwiser VE
Netwiser VE Trial OS/Netwiser VE Trial
Sophos XG Firewall Sophos XG Firewall(アーカイブ)
Windows Server for ちょこっとデータ変換/加工 Windows Server 2019 for ちょこっとデータ変換/加工

※過去のバージョン含むすべてのバージョンでディスクにバンドル情報が付与されます。

私は対象ですか?影響を受けていますか?確認方法を教えてください。

不具合の対象となるお客様には別途メールをお送りさせていただいております。

契約しているディスクが対象でした。どういった影響が考えられますか?

ご契約いただいているディスク情報(バンドル情報・ディスク名称・ディスクサイズなど)を他のお客様に参照された可能性があります。
参照可能となっていたディスク情報については「エンドポイントの実際のレスポンスはどういった情報でしたか?」も合わせてご確認ください。

エンドポイントの実際のレスポンスはどういった情報でしたか?

当該エンドポイントのレスポンスは以下の通りです。

レスポンス(クリックすると展開されます)

{
    "From": X,
    "Count": X,
    "Total": X,
    "Bundles": [
        {
            "Index": X,
            "ID": XXXX,
            "Name": "Name",
            "CreatedAt": "YYYY-MM-DDThh:mm:ss+09:00",
            "ModifiedAt": "YYYY-MM-DDThh:mm:ss+09:00",
            "BundleInfo": {
                "ID": XXXX,
                "Group": null,
                "HostClass": "HostClass",
                "Name": "Name",
                "ServiceClass": "ServiceClass",
                "Attr": {
                    "DisableFTP": XXXX
                }
            },
            "Disk": {
                "ID": XXXX,
                "Name": "Name",
                "Availability": "available",
                "SizeMB": XXXX,
                "Plan": {
                    "ID": X,
                    "StorageClass": "StorageClass",
                    "Name": "Name"
                },
                "Storage": {
                    "ID": XXXX,
                    "Class": "Class",
                    "Name": "Name",
                    "Zone": {
                        "ID": XXXX,
                        "Name": "Name",
                        "Region": {
                            "ID": XXX,
                            "Name": "Name"
                        }
                    },
                    "DiskPlan": {
                        "ID": X,
                        "StorageClass": "StorageClass",
                        "Name": "Name"
                    }
                }
            }
        },
    "is_ok": true
}