阿里云报这个漏洞很久了,一直推送信息让修复,今天有时间修复一下。
漏洞编号:CVE-2020-8597
QQ截图20231121172429.jpg

  1. github下载了ppp最新的源代码上传服务器
  2. 在软件包的根目录下运行libtoolize --automake --copy --force命令,来复制或链接./ltmain.sh文件。
  3. 在软件包的根目录下运行autoheader命令,来生成pppd/config.h.in文件。
  4. 在软件包的根目录下运行aclocal命令,来获取当前系统的环境,生成一个aclocal.m4文件。
  5. 在软件包的根目录下运行autoconf命令,来生成configure文件。
  6. 在软件包的根目录下运行automake --add-missing命令,来生成Makefile.in文件。
  7. 在软件包的根目录下运行./configure命令,来检查并配置编译选项。
  8. 在软件包的根目录下运行make命令,来编译源码。
  9. 在软件包的根目录下运行sudo make install命令,来安装新版本的软件包。

make后提示报错

sys-linux.c: In function ‘get_ppp_stats_sysfs’:\nsys-linux.c:1860:5:
error: ‘for’ loop initial declarations are only allowed in C99 mode\n
for (int i = 0; i < sizeof(slist) / sizeof(*slist); ++i) {\n
^\nsys-linux.c:1860:5: note: use option -std=c99 or -std=gnu99 to
compile your code

让在c99模式下编译,make加上参数后就正常了

make CFLAGS=-std=gnu99

重启服务器后,pppd --version 就显示 pppd version 2.5.0 了