I run three NATted jails on my 9.3-RELEASE server, which means I get four security e-mails every morning. This morning, one of the jails told me devel/pcre was vulnerable, but not the host nor the other jail with pcre installed.
The jail reporting the vulnerability sent:
The other jail concerned sent:
and the host sent:
It doesn't take a genius to work out what's going on here, or the threat it poses of a vulnerability being missed. It appears that, to save bandwidth, each machine (IP address?) is only served the database once so when my host or one of my jails downloads the database, the others are refused it or told there's no update since they last downloaded.
Therefore, there is a lottery as to which jail/host gets the database, and whether any vulnerable package is installed in that environment. If the third jail, which doesn't have pcre installed, had downloaded the database, I would have been left in blissful ignorance of the problem for at least another day. A day can be a long time when it comes to published vulnerabilities on a publicly accessible server.
This needs to be handled differently. Either only the host should download the database and then check itself and all jails for vulnerabilities (possibly this can be achieved with some configuration and scripting at my end if I know what to do) or all requests should be served the database unless some arbitrary number of downloads (beyond which my first suggestion becomes mandatory) is exceeded.
It's possible I just need some configuration information, or does the system need to change?
The jail reporting the vulnerability sent:
Code:
Checking for packages with security vulnerabilities:
pcre-8.37_3
The other jail concerned sent:
Code:
Checking for packages with security vulnerabilities:
Database fetched: Sun Aug 23 03:18:50 BST 2015
and the host sent:
Code:
Checking for packages with security vulnerabilities:
Database fetched: Mon Aug 24 03:08:21 BST 2015
It doesn't take a genius to work out what's going on here, or the threat it poses of a vulnerability being missed. It appears that, to save bandwidth, each machine (IP address?) is only served the database once so when my host or one of my jails downloads the database, the others are refused it or told there's no update since they last downloaded.
Therefore, there is a lottery as to which jail/host gets the database, and whether any vulnerable package is installed in that environment. If the third jail, which doesn't have pcre installed, had downloaded the database, I would have been left in blissful ignorance of the problem for at least another day. A day can be a long time when it comes to published vulnerabilities on a publicly accessible server.
This needs to be handled differently. Either only the host should download the database and then check itself and all jails for vulnerabilities (possibly this can be achieved with some configuration and scripting at my end if I know what to do) or all requests should be served the database unless some arbitrary number of downloads (beyond which my first suggestion becomes mandatory) is exceeded.
It's possible I just need some configuration information, or does the system need to change?