Cacti の 2020-09-13 12:26:40 問題

だいぶ昔(4年くらい前)にセットアップして塩漬けになっていた Cacti で、グラフをズームして任意の開始日時・終了日時を指定して表示しようとしても、何故かその指定が効かず、常に Daily のグラフしか出せなくなることがありました。

普段は Prometheus/Grafana を使っていて、ただ Prometheus だと1年とかの長期のメトリクス保持が簡単ではないので Cacti を併用していたという状況で、Cacti をじっくり見る機会があまりなかったのでずっと気づいていませんでした。

詳しく見ていたところ、開始日時が Unix タイムスタンプで 1600000000 を超えると指定が効かなくなることがわかりました。1600000000、UTC で 2020-09-13 12:26:40 ですね、ググるとすぐ下記の記事が見つかりました。

以下の通り Issue もあげられていて、

下記のコミットでもっと大きな値(2088385563)に変更されています。

ところでこの 1600000000 とか 2088385563 とかはどういう基準の値なのでしょうか。1600000000 を閾値とする変更は下記のコミットで入れられたようです。

極端に大きな期間を指定することで rrdtool の CPU 使用率を高騰させる DoS に対する対策だったようですが、2007年のものなので・・この当時は 2020-09-13 が遠い遠い未来だった、ということでしょうか。

なお、これは CVE も登録されていたようです。

参照されている Cacti の Issue Tracker は現在は Github に移行されたためかサイトが存在しなくなっていますが、Internet Archive に残っていました。

1600000000 になった根拠とかは特に残って無さそうです。

2088385563 の方は・・ 2036-03-06 03:06:03 ・・なんとなく 3 と 6 が繰り返されている? 単に問題を先送りにしたというだけなのでしょうか。