EMERGENCY UPDATE
EMERGENCY UPDATE
Features
- Fixed the bugs of the judger (forgetting to remove temp output after executing a program)
- A bug still exists: The input data should be in the format of mac/unix/linux, if it contains '\r', some submissions will have problems with their scores. The solution to this bug has been found but it'll be fixed in the next version.
- Note: v0.1.* CANNOT BE PUT INTO A PRODUCTION ENVIRONMENT because of the bugs and the instability!!!!
Existing Bugs
You can run a program like this:
#include<cstdlib>
int main() {
system("reboot");
return 0;
}
The program will reboot the machine if you run node in the root mode.
Solution:
- Use chroot to build a sandbox to avoid hacking like this
- Use restricted Memory Usage Limitations to avoid those who submit a judger-hacking program. (by ulimit -v)
The Database authentication model (or config) is not used, so if you're building a judging-server using this build(or earlier build), please be careful with the setting of MONGODB SERVER.
Finally
Thanks to the bug reporter @LXLWDGY