SELinux userspace 3.8-rc1 release
Resolves: RHEL-69451
This commit is contained in:
parent
9f3d9a68d7
commit
444c468ec5
2
.gitignore
vendored
2
.gitignore
vendored
@ -165,3 +165,5 @@ libsemanage-2.0.45.tgz
|
||||
/libsemanage-3.6.tar.gz
|
||||
/libsemanage-3.7.tar.gz
|
||||
/libsemanage-3.7.tar.gz.asc
|
||||
/libsemanage-3.8-rc1.tar.gz
|
||||
/libsemanage-3.8-rc1.tar.gz.asc
|
||||
|
@ -1,146 +0,0 @@
|
||||
From d7266af9c565a035f2340dbdd53166c42717a5c8 Mon Sep 17 00:00:00 2001
|
||||
From: Vit Mojzis <vmojzis@redhat.com>
|
||||
Date: Mon, 29 Jul 2024 13:26:45 +0200
|
||||
Subject: [PATCH] libsemanage: Preserve file context and ownership in policy
|
||||
store
|
||||
|
||||
Make sure that file context (all parts) and ownership of
|
||||
files/directories in policy store does not change no matter which user
|
||||
and under which context executes policy rebuild.
|
||||
|
||||
Fixes:
|
||||
# semodule -B
|
||||
# ls -lZ /etc/selinux/targeted/contexts/files
|
||||
|
||||
-rw-r--r--. 1 root root unconfined_u:object_r:file_context_t:s0 421397 Jul 11 09:57 file_contexts
|
||||
-rw-r--r--. 1 root root unconfined_u:object_r:file_context_t:s0 593470 Jul 11 09:57 file_contexts.bin
|
||||
-rw-r--r--. 1 root root unconfined_u:object_r:file_context_t:s0 14704 Jul 11 09:57 file_contexts.homedirs
|
||||
-rw-r--r--. 1 root root unconfined_u:object_r:file_context_t:s0 20289 Jul 11 09:57 file_contexts.homedirs.bin
|
||||
|
||||
SELinux user changed from system_u to the user used to execute semodule
|
||||
|
||||
# capsh --user=testuser --caps="cap_dac_override,cap_chown+eip" --addamb=cap_dac_override,cap_chown -- -c "semodule -B"
|
||||
# ls -lZ /etc/selinux/targeted/contexts/files
|
||||
|
||||
-rw-r--r--. 1 testuser testuser unconfined_u:object_r:file_context_t:s0 421397 Jul 19 09:10 file_contexts
|
||||
-rw-r--r--. 1 testuser testuser unconfined_u:object_r:file_context_t:s0 593470 Jul 19 09:10 file_contexts.bin
|
||||
-rw-r--r--. 1 testuser testuser unconfined_u:object_r:file_context_t:s0 14704 Jul 19 09:10 file_contexts.homedirs
|
||||
-rw-r--r--. 1 testuser testuser unconfined_u:object_r:file_context_t:s0 20289 Jul 19 09:10 file_contexts.homedirs.bin
|
||||
|
||||
Both file context and ownership changed -- causes remote login
|
||||
failures and other issues in some scenarios.
|
||||
|
||||
Signed-off-by: Vit Mojzis <vmojzis@redhat.com>
|
||||
Acked-by: Stephen Smalley <stephen.smalley.work@gmail.com>
|
||||
---
|
||||
libsemanage/src/semanage_store.c | 32 ++++++++++++++++++++++++++++++++
|
||||
libsemanage/src/semanage_store.h | 1 +
|
||||
2 files changed, 33 insertions(+)
|
||||
|
||||
diff --git a/libsemanage/src/semanage_store.c b/libsemanage/src/semanage_store.c
|
||||
index 27c5d349..0ac2e5b2 100644
|
||||
--- a/libsemanage/src/semanage_store.c
|
||||
+++ b/libsemanage/src/semanage_store.c
|
||||
@@ -36,6 +36,7 @@ typedef struct dbase_policydb dbase_t;
|
||||
#include "database_policydb.h"
|
||||
#include "handle.h"
|
||||
|
||||
+#include <selinux/restorecon.h>
|
||||
#include <selinux/selinux.h>
|
||||
#include <sepol/policydb.h>
|
||||
#include <sepol/module.h>
|
||||
@@ -767,6 +768,7 @@ int semanage_copy_file(const char *src, const char *dst, mode_t mode,
|
||||
if (!retval && rename(tmp, dst) == -1)
|
||||
return -1;
|
||||
|
||||
+ semanage_setfiles(dst);
|
||||
out:
|
||||
errno = errsv;
|
||||
return retval;
|
||||
@@ -819,6 +821,8 @@ static int semanage_copy_dir_flags(const char *src, const char *dst, int flag)
|
||||
goto cleanup;
|
||||
}
|
||||
umask(mask);
|
||||
+
|
||||
+ semanage_setfiles(dst);
|
||||
}
|
||||
|
||||
for (i = 0; i < len; i++) {
|
||||
@@ -837,6 +841,7 @@ static int semanage_copy_dir_flags(const char *src, const char *dst, int flag)
|
||||
goto cleanup;
|
||||
}
|
||||
umask(mask);
|
||||
+ semanage_setfiles(path2);
|
||||
} else if (S_ISREG(sb.st_mode) && flag == 1) {
|
||||
mask = umask(0077);
|
||||
if (semanage_copy_file(path, path2, sb.st_mode,
|
||||
@@ -938,6 +943,7 @@ int semanage_mkdir(semanage_handle_t *sh, const char *path)
|
||||
|
||||
}
|
||||
umask(mask);
|
||||
+ semanage_setfiles(path);
|
||||
}
|
||||
else {
|
||||
/* check that it really is a directory */
|
||||
@@ -1614,16 +1620,19 @@ static int semanage_validate_and_compile_fcontexts(semanage_handle_t * sh)
|
||||
semanage_final_path(SEMANAGE_FINAL_TMP, SEMANAGE_FC)) != 0) {
|
||||
goto cleanup;
|
||||
}
|
||||
+ semanage_setfiles(semanage_final_path(SEMANAGE_FINAL_TMP, SEMANAGE_FC_BIN));
|
||||
|
||||
if (sefcontext_compile(sh,
|
||||
semanage_final_path(SEMANAGE_FINAL_TMP, SEMANAGE_FC_LOCAL)) != 0) {
|
||||
goto cleanup;
|
||||
}
|
||||
+ semanage_setfiles(semanage_final_path(SEMANAGE_FINAL_TMP, SEMANAGE_FC_LOCAL_BIN));
|
||||
|
||||
if (sefcontext_compile(sh,
|
||||
semanage_final_path(SEMANAGE_FINAL_TMP, SEMANAGE_FC_HOMEDIRS)) != 0) {
|
||||
goto cleanup;
|
||||
}
|
||||
+ semanage_setfiles(semanage_final_path(SEMANAGE_FINAL_TMP, SEMANAGE_FC_HOMEDIRS_BIN));
|
||||
|
||||
status = 0;
|
||||
cleanup:
|
||||
@@ -3018,3 +3027,26 @@ int semanage_nc_sort(semanage_handle_t * sh, const char *buf, size_t buf_len,
|
||||
|
||||
return 0;
|
||||
}
|
||||
+
|
||||
+/* Make sure the file context and ownership of files in the policy
|
||||
+ * store does not change */
|
||||
+void semanage_setfiles(const char *path){
|
||||
+ struct stat sb;
|
||||
+ int fd;
|
||||
+ /* Fix the user and role portions of the context, ignore errors
|
||||
+ * since this is not a critical operation */
|
||||
+ selinux_restorecon(path, SELINUX_RESTORECON_SET_SPECFILE_CTX | SELINUX_RESTORECON_IGNORE_NOENTRY);
|
||||
+
|
||||
+ /* Make sure "path" is owned by root */
|
||||
+ if ((geteuid() != 0 || getegid() != 0) &&
|
||||
+ ((fd = open(path, O_RDONLY)) != -1)){
|
||||
+ /* Skip files with the SUID or SGID bit set -- abuse protection */
|
||||
+ if ((fstat(fd, &sb) != -1) &&
|
||||
+ !(S_ISREG(sb.st_mode) &&
|
||||
+ (sb.st_mode & (S_ISUID | S_ISGID))) &&
|
||||
+ (fchown(fd, 0, 0) == -1))
|
||||
+ fprintf(stderr, "Warning! Could not set ownership of %s to root\n", path);
|
||||
+
|
||||
+ close(fd);
|
||||
+ }
|
||||
+}
|
||||
diff --git a/libsemanage/src/semanage_store.h b/libsemanage/src/semanage_store.h
|
||||
index 1fc77da8..e21dadeb 100644
|
||||
--- a/libsemanage/src/semanage_store.h
|
||||
+++ b/libsemanage/src/semanage_store.h
|
||||
@@ -124,6 +124,7 @@ int semanage_get_cil_paths(semanage_handle_t * sh, semanage_module_info_t *modin
|
||||
int semanage_get_active_modules(semanage_handle_t *sh,
|
||||
semanage_module_info_t **modinfo, int *num_modules);
|
||||
|
||||
+void semanage_setfiles(const char *path);
|
||||
|
||||
/* lock file routines */
|
||||
int semanage_get_trans_lock(semanage_handle_t * sh);
|
||||
--
|
||||
2.45.2
|
||||
|
@ -1,417 +0,0 @@
|
||||
From 899faa42fb46fc5a94044cdc120e5eef5b37c010 Mon Sep 17 00:00:00 2001
|
||||
From: Petr Lautrbach <lautrbach@redhat.com>
|
||||
Date: Wed, 16 Oct 2024 20:18:24 +0200
|
||||
Subject: [PATCH] libsemanage: fix swig bindings for 4.3.0
|
||||
Content-type: text/plain
|
||||
|
||||
https://github.com/swig/swig/blob/master/CHANGES.current
|
||||
|
||||
"[Python] #2907 Fix returning null from functions with output
|
||||
parameters. Ensures OUTPUT and INOUT typemaps are handled
|
||||
consistently wrt return type.
|
||||
|
||||
New declaration of SWIG_Python_AppendOutput is now:
|
||||
|
||||
SWIG_Python_AppendOutput(PyObject* result, PyObject* obj, int is_void);
|
||||
|
||||
The 3rd parameter is new and the new $isvoid special variable
|
||||
should be passed to it, indicating whether or not the wrapped
|
||||
function returns void.
|
||||
|
||||
Also consider replacing with:
|
||||
|
||||
SWIG_AppendOutput(PyObject* result, PyObject* obj);
|
||||
|
||||
which calls SWIG_Python_AppendOutput with same parameters but adding $isvoid
|
||||
for final parameter."
|
||||
|
||||
Fixes: https://github.com/SELinuxProject/selinux/issues/447
|
||||
|
||||
Suggested-by: Jitka Plesnikova <jplesnik@redhat.com>
|
||||
Signed-off-by: Petr Lautrbach <lautrbach@redhat.com>
|
||||
---
|
||||
libsemanage/src/semanageswig_python.i | 64 +++++++++++++--------------
|
||||
libsemanage/src/semanageswig_ruby.i | 32 +++++++-------
|
||||
2 files changed, 48 insertions(+), 48 deletions(-)
|
||||
|
||||
diff --git a/libsemanage/src/semanageswig_python.i b/libsemanage/src/semanageswig_python.i
|
||||
index 5f0113966962..0e27424f4dec 100644
|
||||
--- a/libsemanage/src/semanageswig_python.i
|
||||
+++ b/libsemanage/src/semanageswig_python.i
|
||||
@@ -111,7 +111,7 @@
|
||||
}
|
||||
|
||||
%typemap(argout) char** {
|
||||
- $result = SWIG_Python_AppendOutput($result, SWIG_FromCharPtr(*$1));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_FromCharPtr(*$1));
|
||||
free(*$1);
|
||||
}
|
||||
|
||||
@@ -134,7 +134,7 @@
|
||||
NULL, NULL, &plist) < 0)
|
||||
$result = SWIG_From_int(STATUS_ERR);
|
||||
else
|
||||
- $result = SWIG_Python_AppendOutput($result, plist);
|
||||
+ $result = SWIG_AppendOutput($result, plist);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -148,7 +148,7 @@
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_module_info_t ** {
|
||||
- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
/** module key typemaps **/
|
||||
@@ -160,7 +160,7 @@
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_module_key_t ** {
|
||||
- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
/** context typemaps **/
|
||||
@@ -172,7 +172,7 @@
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_context_t** {
|
||||
- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
/** boolean typemaps **/
|
||||
@@ -197,7 +197,7 @@
|
||||
(void (*) (void*)) &semanage_bool_free, &plist) < 0)
|
||||
$result = SWIG_From_int(STATUS_ERR);
|
||||
else
|
||||
- $result = SWIG_Python_AppendOutput($result, plist);
|
||||
+ $result = SWIG_AppendOutput($result, plist);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -207,11 +207,11 @@
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_bool_t ** {
|
||||
- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_bool_key_t ** {
|
||||
- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(in, numinputs=0) semanage_bool_key_t **(semanage_bool_key_t *temp=NULL) {
|
||||
@@ -240,7 +240,7 @@
|
||||
(void (*) (void*)) &semanage_fcontext_free, &plist) < 0)
|
||||
$result = SWIG_From_int(STATUS_ERR);
|
||||
else
|
||||
- $result = SWIG_Python_AppendOutput($result, plist);
|
||||
+ $result = SWIG_AppendOutput($result, plist);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -250,11 +250,11 @@
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_fcontext_t ** {
|
||||
- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_fcontext_key_t ** {
|
||||
- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(in, numinputs=0) semanage_fcontext_key_t **(semanage_fcontext_key_t *temp=NULL) {
|
||||
@@ -284,7 +284,7 @@
|
||||
(void (*) (void*)) &semanage_iface_free, &plist) < 0)
|
||||
$result = SWIG_From_int(STATUS_ERR);
|
||||
else
|
||||
- $result = SWIG_Python_AppendOutput($result, plist);
|
||||
+ $result = SWIG_AppendOutput($result, plist);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -294,11 +294,11 @@
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_iface_t ** {
|
||||
- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_iface_key_t ** {
|
||||
- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(in, numinputs=0) semanage_iface_key_t **(semanage_iface_key_t *temp=NULL) {
|
||||
@@ -328,7 +328,7 @@
|
||||
(void (*) (void*)) &semanage_seuser_free, &plist) < 0)
|
||||
$result = SWIG_From_int(STATUS_ERR);
|
||||
else
|
||||
- $result = SWIG_Python_AppendOutput($result, plist);
|
||||
+ $result = SWIG_AppendOutput($result, plist);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -338,11 +338,11 @@
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_seuser_t ** {
|
||||
- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_seuser_key_t ** {
|
||||
- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(in, numinputs=0) semanage_seuser_key_t **(semanage_seuser_key_t *temp=NULL) {
|
||||
@@ -371,7 +371,7 @@
|
||||
(void (*) (void*)) &semanage_user_free, &plist) < 0)
|
||||
$result = SWIG_From_int(STATUS_ERR);
|
||||
else
|
||||
- $result = SWIG_Python_AppendOutput($result, plist);
|
||||
+ $result = SWIG_AppendOutput($result, plist);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -381,11 +381,11 @@
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_user_t ** {
|
||||
- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_user_key_t ** {
|
||||
- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(in, numinputs=0) semanage_user_key_t **(semanage_user_key_t *temp=NULL) {
|
||||
@@ -414,7 +414,7 @@
|
||||
(void (*) (void*)) &semanage_port_free, &plist) < 0)
|
||||
$result = SWIG_From_int(STATUS_ERR);
|
||||
else
|
||||
- $result = SWIG_Python_AppendOutput($result, plist);
|
||||
+ $result = SWIG_AppendOutput($result, plist);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -424,11 +424,11 @@
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_port_t ** {
|
||||
- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_port_key_t ** {
|
||||
- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(in, numinputs=0) semanage_port_key_t **(semanage_port_key_t *temp=NULL) {
|
||||
@@ -457,7 +457,7 @@
|
||||
(void (*) (void*)) &semanage_ibpkey_free, &plist) < 0)
|
||||
$result = SWIG_From_int(STATUS_ERR);
|
||||
else
|
||||
- $result = SWIG_Python_AppendOutput($result, plist);
|
||||
+ $result = SWIG_AppendOutput($result, plist);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -467,11 +467,11 @@
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_ibpkey_t ** {
|
||||
- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_ibpkey_key_t ** {
|
||||
- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(in, numinputs=0) semanage_ibpkey_key_t **(semanage_ibpkey_key_t *temp=NULL) {
|
||||
@@ -500,7 +500,7 @@
|
||||
(void (*) (void*)) &semanage_ibendport_free, &plist) < 0)
|
||||
$result = SWIG_From_int(STATUS_ERR);
|
||||
else
|
||||
- $result = SWIG_Python_AppendOutput($result, plist);
|
||||
+ $result = SWIG_AppendOutput($result, plist);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -510,11 +510,11 @@
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_ibendport_t ** {
|
||||
- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_ibendport_key_t ** {
|
||||
- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(in, numinputs=0) semanage_ibendport_key_t **(semanage_ibendport_key_t *temp=NULL) {
|
||||
@@ -543,7 +543,7 @@
|
||||
(void (*) (void*)) &semanage_node_free, &plist) < 0)
|
||||
$result = SWIG_From_int(STATUS_ERR);
|
||||
else
|
||||
- $result = SWIG_Python_AppendOutput($result, plist);
|
||||
+ $result = SWIG_AppendOutput($result, plist);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -553,12 +553,12 @@
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_node_t ** {
|
||||
- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
|
||||
%typemap(argout) semanage_node_key_t ** {
|
||||
- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(in, numinputs=0) semanage_node_key_t **(semanage_node_key_t *temp=NULL) {
|
||||
diff --git a/libsemanage/src/semanageswig_ruby.i b/libsemanage/src/semanageswig_ruby.i
|
||||
index e030e4aea7ba..9010b5456b1a 100644
|
||||
--- a/libsemanage/src/semanageswig_ruby.i
|
||||
+++ b/libsemanage/src/semanageswig_ruby.i
|
||||
@@ -38,7 +38,7 @@
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_module_info_t ** {
|
||||
- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
/** context typemaps **/
|
||||
@@ -50,7 +50,7 @@
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_context_t** {
|
||||
- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
/** boolean typemaps **/
|
||||
@@ -66,11 +66,11 @@
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_bool_t ** {
|
||||
- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_bool_key_t ** {
|
||||
- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(in, numinputs=0) semanage_bool_key_t **(semanage_bool_key_t *temp=NULL) {
|
||||
@@ -90,11 +90,11 @@
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_fcontext_t ** {
|
||||
- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_fcontext_key_t ** {
|
||||
- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(in, numinputs=0) semanage_fcontext_key_t **(semanage_fcontext_key_t *temp=NULL) {
|
||||
@@ -114,11 +114,11 @@
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_iface_t ** {
|
||||
- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_iface_key_t ** {
|
||||
- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(in, numinputs=0) semanage_iface_key_t **(semanage_iface_key_t *temp=NULL) {
|
||||
@@ -138,11 +138,11 @@
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_seuser_t ** {
|
||||
- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_seuser_key_t ** {
|
||||
- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(in, numinputs=0) semanage_seuser_key_t **(semanage_seuser_key_t *temp=NULL) {
|
||||
@@ -162,11 +162,11 @@
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_user_t ** {
|
||||
- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_user_key_t ** {
|
||||
- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(in, numinputs=0) semanage_user_key_t **(semanage_user_key_t *temp=NULL) {
|
||||
@@ -186,11 +186,11 @@
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_port_t ** {
|
||||
- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_port_key_t ** {
|
||||
- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(in, numinputs=0) semanage_port_key_t **(semanage_port_key_t *temp=NULL) {
|
||||
@@ -210,12 +210,12 @@
|
||||
}
|
||||
|
||||
%typemap(argout) semanage_node_t ** {
|
||||
- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
|
||||
%typemap(argout) semanage_node_key_t ** {
|
||||
- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
|
||||
}
|
||||
|
||||
%typemap(in, numinputs=0) semanage_node_key_t **(semanage_node_key_t *temp=NULL) {
|
||||
--
|
||||
2.47.0
|
||||
|
@ -1,43 +0,0 @@
|
||||
From 0140861b18272d2504ce743d60c181feb489a2af Mon Sep 17 00:00:00 2001
|
||||
From: Vit Mojzis <vmojzis@redhat.com>
|
||||
Date: Fri, 25 Oct 2024 20:32:07 +0200
|
||||
Subject: [PATCH] libsemanage/direct_api: INTEGER_OVERFLOW read_len = read()
|
||||
|
||||
The following statement is always true if read_len is unsigned:
|
||||
(read_len = read(fd, data_read + data_read_len, max_len - data_read_len)) > 0
|
||||
|
||||
Fixes:
|
||||
Error: INTEGER_OVERFLOW (CWE-190): [#def19] [important]
|
||||
libsemanage-3.7/src/direct_api.c:598:2: tainted_data_return: Called function "read(fd, data_read + data_read_len, max_len - data_read_len)", and a possible return value may be less than zero.
|
||||
libsemanage-3.7/src/direct_api.c:598:2: cast_underflow: An assign of a possibly negative number to an unsigned type, which might trigger an underflow.
|
||||
libsemanage-3.7/src/direct_api.c:599:3: overflow: The expression "data_read_len += read_len" is deemed underflowed because at least one of its arguments has underflowed.
|
||||
libsemanage-3.7/src/direct_api.c:598:2: overflow: The expression "max_len - data_read_len" is deemed underflowed because at least one of its arguments has underflowed.
|
||||
libsemanage-3.7/src/direct_api.c:598:2: overflow_sink: "max_len - data_read_len", which might have underflowed, is passed to "read(fd, data_read + data_read_len, max_len - data_read_len)". [Note: The source code implementation of the function has been overridden by a builtin model.]
|
||||
\# 596| }
|
||||
\# 597|
|
||||
\# 598|-> while ((read_len = read(fd, data_read + data_read_len, max_len - data_read_len)) > 0) {
|
||||
\# 599| data_read_len += read_len;
|
||||
\# 600| if (data_read_len == max_len) {
|
||||
|
||||
Signed-off-by: Vit Mojzis <vmojzis@redhat.com>
|
||||
Acked-by: James Carter <jwcart2@gmail.com>
|
||||
---
|
||||
libsemanage/src/direct_api.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libsemanage/src/direct_api.c b/libsemanage/src/direct_api.c
|
||||
index d740070d..7631c7bf 100644
|
||||
--- a/libsemanage/src/direct_api.c
|
||||
+++ b/libsemanage/src/direct_api.c
|
||||
@@ -582,7 +582,7 @@ cleanup:
|
||||
static int read_from_pipe_to_data(semanage_handle_t *sh, size_t initial_len, int fd, char **out_data_read, size_t *out_read_len)
|
||||
{
|
||||
size_t max_len = initial_len;
|
||||
- size_t read_len = 0;
|
||||
+ ssize_t read_len = 0;
|
||||
size_t data_read_len = 0;
|
||||
char *data_read = NULL;
|
||||
|
||||
--
|
||||
2.47.0
|
||||
|
121
bachradsusi.gpg
121
bachradsusi.gpg
@ -316,6 +316,123 @@ kAIi0B1szn0K13qRqBIwjnWL+orP1KLzvczCH6yD0FZY90CDdMtM0VB6AqT4BFh6
|
||||
5+ygjA4YiA7fFYBm8510ybUcNfzU3gUIJ5pF8MdGizO54tCPSK6U+iVRY4qfCFdu
|
||||
IiOZ7FUUn78VIxQUMYMrozy7kn/0PQZa7KKRbXJ8sg0sgrQapwpgUjdMwuYZPGGv
|
||||
1Jw5/+WUGWMbGxmlpHcEOmsPZpITH557M/kHyk9Ud0iKwciBI2mGLxiafCuLrUY4
|
||||
TknzOqbZgjdllcUG4cDBEQuBO/GSj1LUfg==
|
||||
=I8Dr
|
||||
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
|
||||
dBW9kxiuWpZN3Q==
|
||||
=iuRK
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
@ -1,3 +1,6 @@
|
||||
* Thu Dec 05 2024 Petr Lautrbach <lautrbach@redhat.com> - 3.8-0.rc1.1
|
||||
- SELinux userspace 3.8-rc1 release
|
||||
|
||||
* Tue Nov 12 2024 Vit Mojzis <vmojzis@redhat.com> - 3.7-4
|
||||
- direct_api: INTEGER_OVERFLOW read_len = read() (RHEL-35997)
|
||||
|
||||
|
@ -1,20 +1,17 @@
|
||||
%define libsepolver 3.7-1
|
||||
%define libselinuxver 3.7-1
|
||||
%define libsepolver 3.8-0
|
||||
%define libselinuxver 3.8-0
|
||||
|
||||
Summary: SELinux binary policy manipulation library
|
||||
Name: libsemanage
|
||||
Version: 3.7
|
||||
Release: 4%{?dist}
|
||||
Version: 3.8
|
||||
Release: 0.rc1.1%{?dist}
|
||||
License: LGPL-2.1-or-later
|
||||
Source0: https://github.com/SELinuxProject/selinux/releases/download/3.7/libsemanage-3.7.tar.gz
|
||||
Source1: https://github.com/SELinuxProject/selinux/releases/download/3.7/libsemanage-3.7.tar.gz.asc
|
||||
Source0: https://github.com/SELinuxProject/selinux/releases/download/%{version}-rc1/libsemanage-%{version}-rc1.tar.gz
|
||||
Source1: https://github.com/SELinuxProject/selinux/releases/download/%{version}-rc1/libsemanage-%{version}-rc1.tar.gz.asc
|
||||
Source2: https://github.com/bachradsusi.gpg
|
||||
# git format-patch -N 3.7 -- libsemanage
|
||||
# git format-patch -N 3.8 -- libsemanage
|
||||
# i=1; for j in 00*patch; do printf "Patch%04d: %s\n" $i $j; i=$((i+1));done
|
||||
# Patch list start
|
||||
Patch0001: 0001-libsemanage-Preserve-file-context-and-ownership-in-p.patch
|
||||
Patch0002: 0002-libsemanage-fix-swig-bindings-for-4.3.0.patch
|
||||
Patch0003: 0003-libsemanage-direct_api-INTEGER_OVERFLOW-read_len-rea.patch
|
||||
# Patch list end
|
||||
URL: https://github.com/SELinuxProject/selinux/wiki
|
||||
Source3: semanage.conf
|
||||
@ -82,7 +79,7 @@ SELinux management applications.
|
||||
|
||||
%prep
|
||||
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
||||
%autosetup -p 2 -n libsemanage-%{version}
|
||||
%autosetup -p 2 -n libsemanage-%{version}-rc1
|
||||
|
||||
|
||||
%build
|
||||
|
4
sources
4
sources
@ -1,2 +1,2 @@
|
||||
SHA512 (libsemanage-3.7.tar.gz) = 4b6370b02116364964ff24b93fb6629c885611de78419f649a027db38b4f1c3b3adf3b438efb34a92b49407ab8f9446ed4091fe4c99fa4752f0f5e3e31589415
|
||||
SHA512 (libsemanage-3.7.tar.gz.asc) = 670ea358add41fd07828ffeb83aae676cd1fdc9abbad8afaa3fd9ee1f42891ec4ae03320e324bac99335159e4e2794bbc3c6f66715cae47b1745b609abd68e34
|
||||
SHA512 (libsemanage-3.8-rc1.tar.gz) = c97a4fe0d66c04d00f00e84ad4fc2b41b90607a9e84519a443d13d0e50ab4393e93c1f9da23bd24f14524eb5096ec315374d5047fafa01a92f546d34cec4fa56
|
||||
SHA512 (libsemanage-3.8-rc1.tar.gz.asc) = 8552f32c49634d1b4ff7edaa417f5edc27af40141234ff2cac5d8219607d9c5c672bd4e34a67a9fdd9c6f96e7d35cfc6b911e23cdf6b8bf7a3d8f356849c76cb
|
||||
|
Loading…
Reference in New Issue
Block a user