Compare commits

...

10 Commits

Author SHA1 Message Date
openeuler-ci-bot
c069212391
!93 [sync] PR-89: Update to 0.103.9 to fix CVE-2023-20197
From: @openeuler-sync-bot 
Reviewed-by: @wang--ge 
Signed-off-by: @wang--ge
2023-08-22 06:31:04 +00:00
wk333
9641c27402 Update to 0.103.9 to fix CVE-2023-20197
(cherry picked from commit dca0979f3efee4de6828509695d425949b021166)
2023-08-22 10:44:45 +08:00
openeuler-ci-bot
4d4c16f10a
!86 [sync] PR-82: Update to 0.103.8 to fix CVE-2023-20032 and CVE-2023-20052
From: @openeuler-sync-bot 
Reviewed-by: @wang--ge 
Signed-off-by: @wang--ge
2023-03-16 09:24:26 +00:00
starlet-dx
80b8a8c6f1 Update to 0.103.8 to fix CVE-2023-20032 and CVE-2023-20052
(cherry picked from commit 357dfdc0185dd1e4d506b082f8efbb9a0c808a4f)
2023-03-15 17:15:28 +08:00
openeuler-ci-bot
f91be99c8f
!79 [sync] PR-77: 修复clamav包下执行clambc 命令失败 和 clamonacc -w 命令 执行报错
From: @openeuler-sync-bot 
Reviewed-by: @small_leek 
Signed-off-by: @small_leek
2022-05-26 07:17:35 +00:00
lyn1001
1bba44424a Fix clamonacc -w error
(cherry picked from commit 3da72a2339ed09448e7c5f54ead4cc68ab7857ec)
2022-05-26 14:47:42 +08:00
openeuler-ci-bot
0fa790333c
!75 [sync] PR-73: Fix start clamav-clamonacc-service
From: @openeuler-sync-bot 
Reviewed-by: @small_leek 
Signed-off-by: @small_leek
2022-05-25 11:21:25 +00:00
houyingchao
09f573f375 Fix start clamav-clamonacc-service
(cherry picked from commit b4e8e04eb1d5854fe366f437c5ac0a5ac11d5638)
2022-05-25 17:15:15 +08:00
openeuler-ci-bot
eeef61d876
!64 [sync] PR-62: Upgrade to 0.103.6 version for fix CVE-2022-20785 CVE-2022-20771 CVE-2022-20770 CVE-2022-20792
From: @openeuler-sync-bot 
Reviewed-by: @small_leek 
Signed-off-by: @small_leek
2022-05-17 01:18:10 +00:00
houyingchao
ea1f2b3122 Upgrade to 0.103.6
(cherry picked from commit 62e4055377d07de19ff48c55ebc627dfd41a6837)
2022-05-16 14:42:30 +08:00
18 changed files with 84 additions and 156 deletions

View File

@ -1,31 +0,0 @@
From 9a6bb57f89721db637f4ddb5b233c1c4e23d223a Mon Sep 17 00:00:00 2001
From: Micah Snyder <micasnyd@cisco.com>
Date: Wed, 15 Sep 2021 15:51:53 -0700
Subject: [PATCH] OOXML: Fix invalid pointer dereference
The OOXML parser in libclamav may try to extract an entry that is
missing a file name. This results in an invalid 0x1 pointer dereference
in the ZIP parser that is likely to crash the scanning application.
This commit fixes the issue by requiring both the PartName (PN) *and*
the ContentType (CT) variables to be non-NULL or else the entry will be
skipped.
Thank you Laurent Delosieres for reporting this issue.
---
libclamav/ooxml.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libclamav/ooxml.c b/libclamav/ooxml.c
index 16c436f1a5..644779432c 100644
--- a/libclamav/ooxml.c
+++ b/libclamav/ooxml.c
@@ -245,7 +245,7 @@ static cl_error_t ooxml_content_cb(int fd, const char *filepath, cli_ctx *ctx, c
cli_dbgmsg("%s: %s\n", localname, value);
}
- if (!CT && !PN) continue;
+ if (!CT || !PN) continue;
if (!xmlStrcmp(CT, (const xmlChar *)"application/vnd.openxmlformats-package.core-properties+xml")) {
/* default: /docProps/core.xml*/

Binary file not shown.

BIN
bytecode-333.cvd Normal file

Binary file not shown.

View File

@ -1,12 +0,0 @@
diff -up clamav-0.103.0/unit_tests/check_jsnorm.c.check clamav-0.103.0/unit_tests/check_jsnorm.c
--- clamav-0.103.0/unit_tests/check_jsnorm.c.check 2020-09-12 18:27:10.000000000 -0600
+++ clamav-0.103.0/unit_tests/check_jsnorm.c 2020-09-17 22:15:26.199957518 -0600
@@ -247,7 +247,7 @@ static void tokenizer_test(const char *i
fd = open(filename, O_RDONLY);
if (fd < 0) {
jstest_teardown();
- ck_assert_msg("failed to open output file: %s", filename);
+ ck_assert_msg(0, "failed to open output file: %s", filename);
}
diff_file_mem(fd, expected, len);

View File

@ -1,10 +1,9 @@
diff -up clamav-0.103.0/clamonacc/clamav-clamonacc.service.in.clamonacc-service clamav-0.103.0/clamonacc/clamav-clamonacc.service.in
--- clamav-0.103.0/clamonacc/clamav-clamonacc.service.in.clamonacc-service 2020-09-12 18:27:09.000000000 -0600
+++ clamav-0.103.0/clamonacc/clamav-clamonacc.service.in 2020-09-18 19:49:35.400152760 -0600
--- ./clamonacc/clamav-clamonacc.service.in.clamonacc-service 2022-05-05 22:36:27.572671129 +0100
+++ ./clamonacc/clamav-clamonacc.service.in 2022-05-05 22:43:05.204324524 +0100
@@ -4,14 +4,12 @@
[Unit]
Description=ClamAV On-Access Scanner
Documentation=man:clamonacc(8) man:clamd.conf(5) https://www.clamav.net/documents
Documentation=man:clamonacc(8) man:clamd.conf(5) https://docs.clamav.net/
-Requires=clamav-daemon.service
-After=clamav-daemon.service syslog.target network.target
+After=clamd@scan.service syslog.target network.target
@ -13,7 +12,7 @@ diff -up clamav-0.103.0/clamonacc/clamav-clamonacc.service.in.clamonacc-service
Type=simple
User=root
-ExecStartPre=/bin/bash -c "while [ ! -S /run/clamav/clamd.ctl ]; do sleep 1; done"
-ExecStart=@prefix@/sbin/clamonacc -F --config-file=@APP_CONFIG_DIRECTORY@/clamd.conf --log=/var/log/clamav/clamonacc.log --move=/root/quarantine
-ExecStart=@prefix@/sbin/clamonacc -F --log=/var/log/clamav/clamonacc.log --move=/root/quarantine
+ExecStart=@prefix@/sbin/clamonacc -F --config-file=/etc/clamd.d/scan.conf
[Install]

View File

@ -1,6 +1,13 @@
--- ./freshclam/clamav-freshclam.service.in.orig 2021-02-01 20:49:25.000000000 +0000
+++ ./freshclam/clamav-freshclam.service.in 2021-03-07 22:59:34.476455890 +0000
@@ -8,7 +8,6 @@ After=network-online.target
--- ./freshclam/clamav-freshclam.service.in.orig 2021-06-14 10:36:39.029730737 +0100
+++ ./freshclam/clamav-freshclam.service.in 2021-06-14 10:37:53.621423748 +0100
@@ -2,13 +2,12 @@
Description=ClamAV virus database updater
Documentation=man:freshclam(1) man:freshclam.conf(5) https://docs.clamav.net/
# If user wants it run from cron, don't start the daemon.
-ConditionPathExists=!/etc/cron.d/clamav-freshclam
+# ConditionPathExists=!/etc/cron.d/clamav-update
Wants=network-online.target
After=network-online.target
[Service]
ExecStart=@prefix@/bin/freshclam -d --foreground=true

View File

@ -1,34 +0,0 @@
From fe45bca164deeb1be053f5755546d71cc5dfd89b Mon Sep 17 00:00:00 2001
From: caodongxia <315816521@qq.com>
Date: Mon, 9 Aug 2021 14:27:22 +0800
Subject: [PATCH] fix-return-val-process
---
clamonacc/client/client.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/clamonacc/client/client.c b/clamonacc/client/client.c
index 347070f..71c153d 100644
--- a/clamonacc/client/client.c
+++ b/clamonacc/client/client.c
@@ -207,12 +207,12 @@ int16_t onas_ping_clamd(struct onas_context **ctx)
if (opt) {
attempt_str = cli_strdup(opt->strarg);
+ if (NULL == attempt_str) {
+ logg("!could not allocate memory for string\n");
+ ret = -1;
+ goto done;
+ }
if (attempt_str) {
- if (NULL == attempt_str) {
- logg("!could not allocate memory for string\n");
- ret = -1;
- goto done;
- }
interval_str = strchr(attempt_str, ':');
if ((NULL != interval_str) && (interval_str[0] != '\0')) {
interval_str[0] = '\0';
--
2.27.0

View File

@ -1,57 +0,0 @@
From adcae42c2094096606a26976fb5829aa1ce5937b Mon Sep 17 00:00:00 2001
From: caodongxia <315816521@qq.com>
Date: Mon, 31 May 2021 16:43:12 +0800
Subject: [PATCH] create patch
---
libclamav/upx.c | 6 +++---
libclammspack/mspack/cabd.c | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/libclamav/upx.c b/libclamav/upx.c
index 4663861..0e7b2c8 100644
--- a/libclamav/upx.c
+++ b/libclamav/upx.c
@@ -333,7 +333,7 @@ int upx_inflate2b(const char *src, uint32_t ssize, char *dst, uint32_t *dsize, u
return -1;
if (backbytes & 0xff000000)
return -1;
- backbytes <<= 8;
+ backbytes = (int32_t)((uint32_t)(backbytes) << 8);
backbytes += (unsigned char)(src[scur++]);
backbytes ^= 0xffffffff;
@@ -425,7 +425,7 @@ int upx_inflate2d(const char *src, uint32_t ssize, char *dst, uint32_t *dsize, u
return -1;
if (backbytes & 0xff000000)
return -1;
- backbytes <<= 8;
+ backbytes = (int32_t)((uint32_t)(backbytes) << 8);
backbytes += (unsigned char)(src[scur++]);
backbytes ^= 0xffffffff;
@@ -517,7 +517,7 @@ int upx_inflate2e(const char *src, uint32_t ssize, char *dst, uint32_t *dsize, u
return -1;
if (backbytes & 0xff000000)
return -1;
- backbytes <<= 8;
+ backbytes = (int32_t)((uint32_t)(backbytes) << 8);
backbytes += (unsigned char)(src[scur++]);
backbytes ^= 0xffffffff;
diff --git a/libclammspack/mspack/cabd.c b/libclammspack/mspack/cabd.c
index 75ef277..4dffd6b 100644
--- a/libclammspack/mspack/cabd.c
+++ b/libclammspack/mspack/cabd.c
@@ -1398,7 +1398,7 @@ static unsigned int cabd_checksum(unsigned char *data, unsigned int bytes,
unsigned int len, ul = 0;
for (len = bytes >> 2; len--; data += 4) {
- cksum ^= ((data[0]) | (data[1]<<8) | (data[2]<<16) | (data[3]<<24));
+ cksum ^= ((data[0]) | ((unsigned int)(data[1])<<8) | ((unsigned int)(data[2])<<16) | ((unsigned int)(data[3])<<24));
}
switch (bytes & 3) {
--
2.27.0

View File

@ -3,4 +3,4 @@ MAILTO=root
## It is ok to execute it as root; freshclam drops privileges and becomes
## user 'clamupdate' as soon as possible
0 */3 * * * root /usr/share/clamav/freshclam-sleep
0 */3 * * * root /usr/share/clamav/freshclam-sleep > /dev/null

View File

@ -1,4 +1,8 @@
/var/log/freshclam.log {
monthly
notifempty
missingok
postrotate
systemctl try-restart clamav-freshclam.service
endscript
}

View File

@ -1,16 +1,16 @@
Name: clamav
Summary: End-user tools for the Clam Antivirus scanner
Version: 0.103.2
Release: 4
Version: 0.103.9
Release: 1
License: GPLv2 and Public Domain and bzip2-1.0.6 and Zlib and Apache-2.0
URL: https://www.clamav.net/
Source0: https://www.clamav.net/downloads/production/clamav-%{version}.tar.gz
Source1: clamd.sysconfig
Source2: clamd.logrotate
Source3: main-58.cvd
Source4: daily-25550.cvd
Source5: bytecode-330.cvd
Source3: main-62.cvd
Source4: daily-26818.cvd
Source5: bytecode-333.cvd
Source7: freshclam-sleep
Source8: freshclam.sysconfig
Source9: clamav-update.crond
@ -24,13 +24,11 @@ Source15: clamd@.service
Patch0001: clamav-stats-deprecation.patch
Patch0002: clamav-default_confs.patch
Patch0003: clamav-0.99-private.patch
Patch0004: clamav-check.patch
Patch0005: clamav-clamonacc-service.patch
Patch0005: clamav-clamonacc-service.patch
Patch0006: clamav-freshclam.service.patch
Patch0007: clamav-type-conversion.patch
Patch0008: clamav-return-val-process.patch
Patch0009: clamav-clamonacc-version-return.patch
Patch0010: CVE-2022-20698.patch
Patch0007: clamav-clamonacc-version-return.patch
Patch0008: fix-clamonacc-w-error.patch
Patch0019: fix-the-failure-to-execute-the-clambc-command-under-the-clamav-package.patch
BuildRequires: autoconf automake gettext-devel libtool libtool-ltdl-devel
BuildRequires: gcc-c++ zlib-devel bzip2-devel gmp-devel curl-devel json-c-devel
@ -415,6 +413,23 @@ test -e %_var/log/clamav-milter.log || {
%changelog
* Tue Aug 22 2023 wangkai <wang_kai001@hoperun.com> - 0.103.9-1
- Update to 0.103.9 to fix CVE-2023-20197
* Wed Mar 15 2023 yaoxin <yaoxin30@h-partners.com> - 0.103.8-1
- Update to 0.103.8 to fix CVE-2023-20032 and CVE-2023-20052
* Thu May 26 2022 liyanan <liyanan32@h-partners.com> - 0.103.6-3
- Fix the failure to execute the clambc command under the clamav package
- Fix clamonacc -w error
* Wed May 25 2022 houyingchao <houyingchao@h-partners.com> - 0.103.6-2
- Fix start clamav-clamonacc-service
* Fri May 13 2022 houyingchao <houyingchao@h-partners.com> - 0.103.6-1
- Upgrade to 0.103.6
- Fix CVE-2022-20785 CVE-2022-20771 CVE-2022-20770 CVE-2022-20792
* Mon Jan 24 2022 wangkai <wangkai385@huawei.com> - 0.103.2-4
- Fix CVE-2022-20698

View File

@ -7,7 +7,7 @@ After = syslog.target nss-lookup.target network.target
Type = forking
ExecStart = /usr/sbin/clamd -c /etc/clamd.d/%i.conf
# Reload the database
# ExecReload=/bin/kill -USR2 $MAINPID
ExecReload=/bin/kill -USR2 $MAINPID
Restart = on-failure
TimeoutStartSec=420

Binary file not shown.

View File

@ -0,0 +1,25 @@
From e5de0bd90f856ed8c9b4e05e6e9c4f46920112a6 Mon Sep 17 00:00:00 2001
From: chen-jan <chen_aka_jan@163.com>
Date: Tue, 7 Dec 2021 08:18:21 +0000
Subject: [PATCH] fix clamonacc -w error
---
clamonacc/client/client.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/clamonacc/client/client.c b/clamonacc/client/client.c
index 347070f..f507eee 100644
--- a/clamonacc/client/client.c
+++ b/clamonacc/client/client.c
@@ -205,7 +205,7 @@ int16_t onas_ping_clamd(struct onas_context **ctx)
/* ping command takes the form --ping [attempts[:interval]] */
opt = optget((*ctx)->opts, "ping");
- if (opt) {
+ if (opt && opt->strarg) {
attempt_str = cli_strdup(opt->strarg);
if (attempt_str) {
if (NULL == attempt_str) {
--
2.30.0

View File

@ -0,0 +1,12 @@
diff -Nur clamav-0.103.6/clambc/bcrun.c clamav-0.103.6_bak/clambc/bcrun.c
--- clamav-0.103.6/clambc/bcrun.c 2022-05-02 12:46:41.000000000 +0800
+++ clamav-0.103.6_bak/clambc/bcrun.c 2022-05-26 10:02:06.307956926 +0800
@@ -406,7 +406,7 @@
// ctx was memset, so recursion_level starts at 0.
cctx.recursion_stack[cctx.recursion_level].fmap = map;
cctx.recursion_stack[cctx.recursion_level].type = CL_TYPE_ANY; /* ANY for the top level, because we don't yet know the type. */
- cctx.recursion_stack[cctx.recursion_level].size = map->len;
+ //cctx.recursion_stack[cctx.recursion_level].size = map->len;
cctx.fmap = cctx.recursion_stack[cctx.recursion_level].fmap;

2
freshclam-sleep Executable file → Normal file
View File

@ -49,4 +49,4 @@ WARNING: update of clamav database is disabled; please see
;;
esac
/usr/bin/freshclam --quiet
/usr/bin/freshclam --quiet > /dev/null

Binary file not shown.