Linux 5.15.205
Greg Kroah-Hartman
maintainerI'm announcing the release of the 5.15.205 kernel.
All users of the 5.15 kernel series must upgrade.
The updated 5.15.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.15.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Makefile | 2 +- net/ipv4/esp4.c | 3 ++- net/ipv4/ip_output.c | 2 ++ net/ipv6/esp6.c | 3 ++- 4 files changed, 7 insertions(+), 3 deletions(-)
Greg Kroah-Hartman (1):
Linux 5.15.205
Kuan-Ting Chen (1):
xfrm: esp: avoid in-place decrypt on shared skb frags
Greg Kroah-Hartman
maintainerMakefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 5 PATCHLEVEL = 15 -SUBLEVEL = 204 +SUBLEVEL = 205 EXTRAVERSION = NAME = Trick or Treat
net/ipv4/esp4.c +2 -1
@@ -921,7 +921,8 @@ static int esp_input(struct xfrm_state *x, struct sk_buff *skb) nfrags =1 ; goto skip_cow; - }else if (!skb_has_frag_list (skb)) { + }else if (!skb_has_frag_list (skb) && + !skb_has_shared_frag (skb)) { nfrags =skb_shinfo (skb)->nr_frags; nfrags++;
net/ipv4/ip_output.c +2 -0
@@ -1443,6 +1443,8 @@ ssize_t ip_append_page(struct sock *sk, struct flowi4 *fl4, struct page *page, goto error; } +skb_shinfo (skb)->tx_flags |=SKBFL_SHARED_FRAG ; +if (skb->ip_summed ==CHECKSUM_NONE ) {__wsum csum; csum =csum_page (page, offset, len);
net/ipv6/esp6.c +2 -1
@@ -968,7 +968,8 @@ static int esp6_input(struct xfrm_state *x, struct sk_buff *skb) nfrags =1 ; goto skip_cow; - }else if (!skb_has_frag_list (skb)) { + }else if (!skb_has_frag_list (skb) && + !skb_has_shared_frag (skb)) { nfrags =skb_shinfo (skb)->nr_frags; nfrags++;
Hi,
I may be mistaken, but I think there might be a small typo in this hunk in net/ipv4/ip_output.c:
skb_shinfo(skb)->tx_flags |= SKBFL_SHARED_FRAG;
Would this need to be:
skb_shinfo(skb)->flags |= SKBFL_SHARED_FRAG;
My understanding is that SKBFL_SHARED_FRAG is a bit in skb_shared_info->flags, and skb_has_shared_frag() checks skb_shinfo(skb)->flags.
Regards,
Dominik Grzegorzek
[email protected]
maintainerQuoted 11 lines · Dominik Grzegorzek
Hi,
I may be mistaken, but I think there might be a small typo in this hunk in
net/ipv4/ip_output.c:skb_shinfo(skb)->tx_flags |=
SKBFL_SHARED_FRAG;Would this need to be:
skb_shinfo(skb)->flags |=
SKBFL_SHARED_FRAG;My understanding is that
SKBFL_SHARED_FRAGis a bit inskb_shared_info->flags, andskb_has_shared_frag()checks skb_shinfo(skb)->flags.
Adding Ben who did the 5.10 backport so he can comment on this.
thanks,
greg k-h
Quoted 12 lines · On Fri, May 8, 2026 at 2:44 PM [email protected]…
Quoted 10 lines · Dominik Grzegorzek
Hi,
I may be mistaken, but I think there might be a small typo in this hunk in
net/ipv4/ip_output.c:skb_shinfo(skb)->tx_flags |=
SKBFL_SHARED_FRAG;Would this need to be:
skb_shinfo(skb)->flags |=
SKBFL_SHARED_FRAG;
Quoted 8 lines
Quoted 1 line
My understanding is that
SKBFL_SHARED_FRAGis a bit inskb_shared_info->flags, andskb_has_shared_frag()checks skb_shinfo(skb)->flags.Adding Ben who did the 5.10 backport so he can comment on this.
thanks,
greg k-h
Hi,
The new released kernel 5.15.205 is still vulnerable to CVE-2026-43284.
``` $ ./run.sh === Stage 1 — overwrite 'systemd-timesync' line (89 bytes) with 'sick::0:0:<pad>:/:/bin/bash' === Stage 2 — verify sick::0:0:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:/:/bin/bash === Stage 3 — su - sick (empty password via PAM nullok) [i] state saved to /var/tmp/.cf2.state — run './run.sh --clean' to revert # uname -r 5.15.205 ```
[email protected]
maintainerQuoted 27 lines · Massimiliano Pellizzer
Quoted 12 lines · On Fri, May 8, 2026 at 2:44 PM [email protected]…
Quoted 10 lines · Dominik Grzegorzek
Hi,
I may be mistaken, but I think there might be a small typo in this hunk in
net/ipv4/ip_output.c:skb_shinfo(skb)->tx_flags |=
SKBFL_SHARED_FRAG;Would this need to be:
skb_shinfo(skb)->flags |=
SKBFL_SHARED_FRAG;Quoted 8 lines
Quoted 1 line
My understanding is that
SKBFL_SHARED_FRAGis a bit inskb_shared_info->flags, andskb_has_shared_frag()checks skb_shinfo(skb)->flags.Adding Ben who did the 5.10 backport so he can comment on this.
thanks,
greg k-h
Hi,
The new released kernel 5.15.205 is still vulnerable to CVE-2026-43284.
Quoted 12 lines
``` $ ./run.sh === Stage 1 — overwrite 'systemd-timesync' line (89 bytes) with 'sick::0:0:<pad>:/:/bin/bash' === Stage 2 — verify sick::0:0:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:/:/bin/bash === Stage 3 — su - sick (empty password via PAM nullok) [i] state saved to /var/tmp/.cf2.state — run './run.sh --clean' to revert # uname -r 5.15.205 ```
Does the patch below fix this up?
thanks,
greg k-h
------------------
net/ipv4/ip_output.c +1 -1
@@ -1443,7 +1443,7 @@ ssize_t ip_append_page(struct sock *sk, struct flowi4 *fl4, struct page *page, goto error; } -skb_shinfo (skb)->tx_flags |=SKBFL_SHARED_FRAG ; +skb_shinfo (skb)->flags |=SKBFL_SHARED_FRAG ;if (skb->ip_summed ==CHECKSUM_NONE ) {__wsum csum;
Quoted 56 lines · On Fri, May 8, 2026 at 3:50 PM [email protected]…
Quoted 27 lines · Massimiliano Pellizzer
Quoted 12 lines · On Fri, May 8, 2026 at 2:44 PM [email protected]…
Quoted 10 lines · Dominik Grzegorzek
Hi,
I may be mistaken, but I think there might be a small typo in this hunk in
net/ipv4/ip_output.c:skb_shinfo(skb)->tx_flags |=
SKBFL_SHARED_FRAG;Would this need to be:
skb_shinfo(skb)->flags |=
SKBFL_SHARED_FRAG;Quoted 8 lines
Quoted 1 line
My understanding is that
SKBFL_SHARED_FRAGis a bit inskb_shared_info->flags, andskb_has_shared_frag()checks skb_shinfo(skb)->flags.Adding Ben who did the 5.10 backport so he can comment on this.
thanks,
greg k-h
Hi,
The new released kernel 5.15.205 is still vulnerable to CVE-2026-43284.
Quoted 12 lines
``` $ ./run.sh === Stage 1 — overwrite 'systemd-timesync' line (89 bytes) with 'sick::0:0:<pad>:/:/bin/bash' === Stage 2 — verify sick::0:0:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:/:/bin/bash === Stage 3 — su - sick (empty password via PAM nullok) [i] state saved to /var/tmp/.cf2.state — run './run.sh --clean' to revert # uname -r 5.15.205 ```Does the patch below fix this up?
thanks,
greg k-h
------------------
net/ipv4/ip_output.c +0
-0
net/ipv4/ip_output.c ssize_t ip_append_page(struct sock *sk, struct flowi4 *fl4, struct page *page, · line 1449
Quoted 8 lines
net/ipv4/ip_output.c +1
-1@@ -1443,7 +1443,7 @@ ssize_t ip_append_page(struct sock *sk, struct flowi4 *fl4, struct page *page, goto error; } -skb_shinfo (skb)->tx_flags |=SKBFL_SHARED_FRAG ; +skb_shinfo (skb)->flags |=SKBFL_SHARED_FRAG ;if (skb->ip_summed ==CHECKSUM_NONE ) {__wsum csum;
Yes, this works.
Thanks
[email protected]
maintainerQuoted 61 lines · Massimiliano Pellizzer
Quoted 59 lines · On Fri, May 8, 2026 at 3:50 PM [email protected]…
Quoted 27 lines · Massimiliano Pellizzer
Quoted 12 lines · On Fri, May 8, 2026 at 2:44 PM [email protected]…
Quoted 10 lines · Dominik Grzegorzek
Hi,
I may be mistaken, but I think there might be a small typo in this hunk in
net/ipv4/ip_output.c:skb_shinfo(skb)->tx_flags |=
SKBFL_SHARED_FRAG;Would this need to be:
skb_shinfo(skb)->flags |=
SKBFL_SHARED_FRAG;Quoted 8 lines
Quoted 1 line
My understanding is that
SKBFL_SHARED_FRAGis a bit inskb_shared_info->flags, andskb_has_shared_frag()checks skb_shinfo(skb)->flags.Adding Ben who did the 5.10 backport so he can comment on this.
thanks,
greg k-h
Hi,
The new released kernel 5.15.205 is still vulnerable to CVE-2026-43284.
Quoted 12 lines
``` $ ./run.sh === Stage 1 — overwrite 'systemd-timesync' line (89 bytes) with 'sick::0:0:<pad>:/:/bin/bash' === Stage 2 — verify sick::0:0:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:/:/bin/bash === Stage 3 — su - sick (empty password via PAM nullok) [i] state saved to /var/tmp/.cf2.state — run './run.sh --clean' to revert # uname -r 5.15.205 ```Does the patch below fix this up?
thanks,
greg k-h
------------------
net/ipv4/ip_output.c +0
-0@@ -1443,7 +1443,7 @@ ssize_t ip_append_page(struct sock *sk, struct flowi4 *fl4, struct page *page, goto error; }
Quoted 7 lines
net/ipv4/ip_output.c ssize_t ip_append_page(struct sock *sk, struct flowi4 *fl4, struct page *page, · line 1449
Quoted 5 lines
net/ipv4/ip_output.c +1
-1-skb_shinfo (skb)->tx_flags |=SKBFL_SHARED_FRAG ; +skb_shinfo (skb)->flags |=SKBFL_SHARED_FRAG ;if (skb->ip_summed ==CHECKSUM_NONE ) {__wsum csum;Yes, this works.
Great, thanks, let me go push out a new release with this fix, thanks for testing!
greg k-h
[email protected]
maintainerQuoted 61 lines · Massimiliano Pellizzer
Quoted 59 lines · On Fri, May 8, 2026 at 3:50 PM [email protected]…
Quoted 27 lines · Massimiliano Pellizzer
Quoted 12 lines · On Fri, May 8, 2026 at 2:44 PM [email protected]…
Quoted 10 lines · Dominik Grzegorzek
Hi,
I may be mistaken, but I think there might be a small typo in this hunk in
net/ipv4/ip_output.c:skb_shinfo(skb)->tx_flags |=
SKBFL_SHARED_FRAG;Would this need to be:
skb_shinfo(skb)->flags |=
SKBFL_SHARED_FRAG;Quoted 8 lines
Quoted 1 line
My understanding is that
SKBFL_SHARED_FRAGis a bit inskb_shared_info->flags, andskb_has_shared_frag()checks skb_shinfo(skb)->flags.Adding Ben who did the 5.10 backport so he can comment on this.
thanks,
greg k-h
Hi,
The new released kernel 5.15.205 is still vulnerable to CVE-2026-43284.
Quoted 12 lines
``` $ ./run.sh === Stage 1 — overwrite 'systemd-timesync' line (89 bytes) with 'sick::0:0:<pad>:/:/bin/bash' === Stage 2 — verify sick::0:0:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:/:/bin/bash === Stage 3 — su - sick (empty password via PAM nullok) [i] state saved to /var/tmp/.cf2.state — run './run.sh --clean' to revert # uname -r 5.15.205 ```Does the patch below fix this up?
thanks,
greg k-h
------------------
net/ipv4/ip_output.c +0
-0@@ -1443,7 +1443,7 @@ ssize_t ip_append_page(struct sock *sk, struct flowi4 *fl4, struct page *page, goto error; }
Quoted 7 lines
net/ipv4/ip_output.c ssize_t ip_append_page(struct sock *sk, struct flowi4 *fl4, struct page *page, · line 1449
Quoted 5 lines
net/ipv4/ip_output.c +1
-1-skb_shinfo (skb)->tx_flags |=SKBFL_SHARED_FRAG ; +skb_shinfo (skb)->flags |=SKBFL_SHARED_FRAG ;if (skb->ip_summed ==CHECKSUM_NONE ) {__wsum csum;Yes, this works.
Wait, is this also needed in the 6.1.y backport as well?
Ben, I'm guessing you tested the 6.1.y backport, right?
thanks,
greg k-h
Quoted 65 lines · On Fri, 2026-05-08 at 16:30 +0200, [email protected] wrote:
Quoted 64 lines · Massimiliano Pellizzer
Quoted 62 lines · On Fri, May 8, 2026 at 3:50 PM [email protected]…
Quoted 27 lines · Massimiliano Pellizzer
Quoted 12 lines · On Fri, May 8, 2026 at 2:44 PM [email protected]…
Quoted 10 lines · Dominik Grzegorzek
Hi,
I may be mistaken, but I think there might be a small typo in this hunk in
net/ipv4/ip_output.c:skb_shinfo(skb)->tx_flags |=
SKBFL_SHARED_FRAG;Would this need to be:
skb_shinfo(skb)->flags |=
SKBFL_SHARED_FRAG;Quoted 8 lines
Quoted 1 line
My understanding is that
SKBFL_SHARED_FRAGis a bit inskb_shared_info->flags, andskb_has_shared_frag()checks skb_shinfo(skb)->flags.Adding Ben who did the 5.10 backport so he can comment on this.
thanks,
greg k-h
Hi,
The new released kernel 5.15.205 is still vulnerable to CVE-2026-43284.
Quoted 12 lines
``` $ ./run.sh === Stage 1 — overwrite 'systemd-timesync' line (89 bytes) with 'sick::0:0:<pad>:/:/bin/bash' === Stage 2 — verify sick::0:0:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:/:/bin/bash === Stage 3 — su - sick (empty password via PAM nullok) [i] state saved to /var/tmp/.cf2.state — run './run.sh --clean' to revert # uname -r 5.15.205 ```Does the patch below fix this up?
thanks,
greg k-h
------------------
net/ipv4/ip_output.c +1
-1@@ -1443,7 +1443,7 @@ ssize_t ip_append_page(struct sock *sk, struct flowi4 *fl4, struct page *page, goto error; } -skb_shinfo (skb)->tx_flags |=SKBFL_SHARED_FRAG ; +skb_shinfo (skb)->flags |=SKBFL_SHARED_FRAG ;
Quoted 8 lines
Quoted 4 lines
net/ipv4/ip_output.c ssize_t ip_append_page(struct sock *sk, struct flowi4 *fl4, struct page *page, · line 1449
Quoted 2 lines
net/ipv4/ip_output.c +0
-0if (skb->ip_summed ==CHECKSUM_NONE ) {__wsum csum;Yes, this works.
Wait, is this also needed in the 6.1.y backport as well?
Ben, I'm guessing you tested the 6.1.y backport, right?
Yes, but on 6.1 the PoC never succeeded for me even without the patch. (On 5.10 and 6.12 it does.) So unfortunately that testing could not show whether my attempted fix was correct.
Sorry for screwing this one up.
Ben.
Signature · 2 lines
Ben Hutchings - Debian developer, member of kernel, installer and LTS teams
[email protected]
maintainerQuoted 73 lines · Ben Hutchings
Quoted 72 lines · On Fri, 2026-05-08 at 16:30 +0200, [email protected] wrote:
Quoted 61 lines · Massimiliano Pellizzer
Quoted 59 lines · On Fri, May 8, 2026 at 3:50 PM [email protected]…
Quoted 27 lines · Massimiliano Pellizzer
Quoted 12 lines · On Fri, May 8, 2026 at 2:44 PM [email protected]…
Quoted 10 lines · Dominik Grzegorzek
Hi,
I may be mistaken, but I think there might be a small typo in this hunk in
net/ipv4/ip_output.c:skb_shinfo(skb)->tx_flags |=
SKBFL_SHARED_FRAG;Would this need to be:
skb_shinfo(skb)->flags |=
SKBFL_SHARED_FRAG;Quoted 8 lines
Quoted 1 line
My understanding is that
SKBFL_SHARED_FRAGis a bit inskb_shared_info->flags, andskb_has_shared_frag()checks skb_shinfo(skb)->flags.Adding Ben who did the 5.10 backport so he can comment on this.
thanks,
greg k-h
Hi,
The new released kernel 5.15.205 is still vulnerable to CVE-2026-43284.
Quoted 12 lines
``` $ ./run.sh === Stage 1 — overwrite 'systemd-timesync' line (89 bytes) with 'sick::0:0:<pad>:/:/bin/bash' === Stage 2 — verify sick::0:0:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:/:/bin/bash === Stage 3 — su - sick (empty password via PAM nullok) [i] state saved to /var/tmp/.cf2.state — run './run.sh --clean' to revert # uname -r 5.15.205 ```Does the patch below fix this up?
thanks,
greg k-h
------------------
net/ipv4/ip_output.c +0
-0@@ -1443,7 +1443,7 @@ ssize_t ip_append_page(struct sock *sk, struct flowi4 *fl4, struct page *page, goto error; }Quoted 7 lines
net/ipv4/ip_output.c ssize_t ip_append_page(struct sock *sk, struct flowi4 *fl4, struct page *page, · line 1449
Quoted 5 lines
net/ipv4/ip_output.c +1
-1-skb_shinfo (skb)->tx_flags |=SKBFL_SHARED_FRAG ; +skb_shinfo (skb)->flags |=SKBFL_SHARED_FRAG ;if (skb->ip_summed ==CHECKSUM_NONE ) {__wsum csum;Yes, this works.
Wait, is this also needed in the 6.1.y backport as well?
Quoted 7 lines
Quoted 1 line
Ben, I'm guessing you tested the 6.1.y backport, right?
Yes, but on 6.1 the PoC never succeeded for me even without the patch. (On 5.10 and 6.12 it does.) So unfortunately that testing could not show whether my attempted fix was correct.
Sorry for screwing this one up.
Not a problem, thanks for doing the backport at all! I'll go do a new 6.1.y release now.
Releases for everyone!!!
thanks,
greg k-h
Quoted 73 lines · On 5/8/26 07:50, [email protected] wrote:
Quoted 64 lines · Ben Hutchings
Quoted 63 lines · On Fri, 2026-05-08 at 16:30 +0200, [email protected] wrote:
Quoted 62 lines · Massimiliano Pellizzer
Quoted 51 lines · On Fri, May 8, 2026 at 3:50 PM [email protected]…
Quoted 24 lines · Massimiliano Pellizzer
Quoted 9 lines · On Fri, May 8, 2026 at 2:44 PM [email protected]…
Quoted 8 lines · Dominik Grzegorzek
Hi,
I may be mistaken, but I think there might be a small typo in this hunk in
net/ipv4/ip_output.c:skb_shinfo(skb)->tx_flags |=
SKBFL_SHARED_FRAG;Would this need to be:
Quoted 9 lines
Quoted 3 lines
skb_shinfo(skb)->flags |=
SKBFL_SHARED_FRAG;My understanding is that
SKBFL_SHARED_FRAGis a bit inskb_shared_info->flags, andskb_has_shared_frag()checks skb_shinfo(skb)->flags.Adding Ben who did the 5.10 backport so he can comment on this.
thanks,
greg k-h
Hi,
The new released kernel 5.15.205 is still vulnerable to CVE-2026-43284.
Quoted 12 lines
``` $ ./run.sh === Stage 1 — overwrite 'systemd-timesync' line (89 bytes) with 'sick::0:0:<pad>:/:/bin/bash' === Stage 2 — verify sick::0:0:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:/:/bin/bash === Stage 3 — su - sick (empty password via PAM nullok) [i] state saved to /var/tmp/.cf2.state — run './run.sh --clean' to revert # uname -r 5.15.205 ```Does the patch below fix this up?
thanks,
greg k-h
------------------
net/ipv4/ip_output.c +0
-0net/ipv4/ip_output.c ssize_t ip_append_page(struct sock *sk, struct flowi4 *fl4, struct page *page, · line 1449
Quoted 8 lines
net/ipv4/ip_output.c +1
-1@@ -1443,7 +1443,7 @@ ssize_t ip_append_page(struct sock *sk, struct flowi4 *fl4, struct page *page, goto error; } -skb_shinfo (skb)->tx_flags |=SKBFL_SHARED_FRAG ; +skb_shinfo (skb)->flags |=SKBFL_SHARED_FRAG ;if (skb->ip_summed ==CHECKSUM_NONE ) {__wsum csum;Yes, this works.
Quoted 8 lines
Quoted 3 lines
Wait, is this also needed in the 6.1.y backport as well?
Ben, I'm guessing you tested the 6.1.y backport, right?
Yes, but on 6.1 the PoC never succeeded for me even without the patch. (On 5.10 and 6.12 it does.) So unfortunately that testing could not show whether my attempted fix was correct.
Sorry for screwing this one up.
Quoted 9 lines
Not a problem, thanks for doing the backport at all! I'll go do a new 6.1.y release now.
Releases for everyone!!!
thanks,
greg k-h
Doesn't 5.10.255 need the flag fixup too?
Quoted 77 lines · Ron Economos
Quoted 76 lines · On 5/8/26 07:50, [email protected] wrote:
Quoted 64 lines · Ben Hutchings
Quoted 63 lines · On Fri, 2026-05-08 at 16:30 +0200, [email protected] wrote:
Quoted 62 lines · Massimiliano Pellizzer
Quoted 51 lines · On Fri, May 8, 2026 at 3:50 PM [email protected]…
Quoted 24 lines · Massimiliano Pellizzer
Quoted 9 lines · On Fri, May 8, 2026 at 2:44 PM [email protected]…
Quoted 8 lines · Dominik Grzegorzek
Hi,
I may be mistaken, but I think there might be a small typo in this hunk in
net/ipv4/ip_output.c:skb_shinfo(skb)->tx_flags |=
SKBFL_SHARED_FRAG;Would this need to be:
Quoted 9 lines
Quoted 3 lines
skb_shinfo(skb)->flags |=
SKBFL_SHARED_FRAG;My understanding is that
SKBFL_SHARED_FRAGis a bit inskb_shared_info->flags, andskb_has_shared_frag()checks skb_shinfo(skb)->flags.Adding Ben who did the 5.10 backport so he can comment on this.
thanks,
greg k-h
Hi,
The new released kernel 5.15.205 is still vulnerable to CVE-2026-43284.
Quoted 12 lines
``` $ ./run.sh === Stage 1 — overwrite 'systemd-timesync' line (89 bytes) with 'sick::0:0:<pad>:/:/bin/bash' === Stage 2 — verify sick::0:0:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:/:/bin/bash === Stage 3 — su - sick (empty password via PAM nullok) [i] state saved to /var/tmp/.cf2.state — run './run.sh --clean' to revert # uname -r 5.15.205 ```Does the patch below fix this up?
thanks,
greg k-h
------------------
net/ipv4/ip_output.c +0
-0net/ipv4/ip_output.c ssize_t ip_append_page(struct sock *sk, struct flowi4 *fl4, struct page *page, · line 1449
Quoted 8 lines
net/ipv4/ip_output.c +1
-1@@ -1443,7 +1443,7 @@ ssize_t ip_append_page(struct sock *sk, struct flowi4 *fl4, struct page *page, goto error; } -skb_shinfo (skb)->tx_flags |=SKBFL_SHARED_FRAG ; +skb_shinfo (skb)->flags |=SKBFL_SHARED_FRAG ;if (skb->ip_summed ==CHECKSUM_NONE ) {__wsum csum;Yes, this works.
Quoted 8 lines
Quoted 3 lines
Wait, is this also needed in the 6.1.y backport as well?
Ben, I'm guessing you tested the 6.1.y backport, right?
Yes, but on 6.1 the PoC never succeeded for me even without the patch. (On 5.10 and 6.12 it does.) So unfortunately that testing could not show whether my attempted fix was correct.
Sorry for screwing this one up.
Not a problem, thanks for doing the backport at all! I'll go do a new 6.1.y release now.
Quoted 7 lines
Quoted 6 lines
Releases for everyone!!!
thanks,
greg k-h
Doesn't 5.10.255 need the flag fixup too?
In 5.10 it was correct to set this flag in skb_shared_info::tx_flags:
static inline bool skb_has_shared_frag(const struct sk_buff *skb)
{
return skb_is_nonlinear(skb) &&
skb_shinfo(skb)->tx_flags & SKBTX_SHARED_FRAG;
}Ben.
Signature · 2 lines
Ben Hutchings - Debian developer, member of kernel, installer and LTS teams
Quoted 87 lines · Ben Hutchings
Quoted 77 lines · Ron Economos
Quoted 76 lines · On 5/8/26 07:50, [email protected] wrote:
Quoted 64 lines · Ben Hutchings
Quoted 63 lines · On Fri, 2026-05-08 at 16:30 +0200, [email protected] wrote:
Quoted 62 lines · Massimiliano Pellizzer
Quoted 51 lines · On Fri, May 8, 2026 at 3:50 PM [email protected]…
Quoted 24 lines · Massimiliano Pellizzer
Quoted 9 lines · On Fri, May 8, 2026 at 2:44 PM [email protected]…
Quoted 8 lines · Dominik Grzegorzek
Hi,
I may be mistaken, but I think there might be a small typo in this hunk in
net/ipv4/ip_output.c:skb_shinfo(skb)->tx_flags |=
SKBFL_SHARED_FRAG;Would this need to be:
Quoted 9 lines
Quoted 3 lines
skb_shinfo(skb)->flags |=
SKBFL_SHARED_FRAG;My understanding is that
SKBFL_SHARED_FRAGis a bit inskb_shared_info->flags, andskb_has_shared_frag()checks skb_shinfo(skb)->flags.Adding Ben who did the 5.10 backport so he can comment on this.
thanks,
greg k-h
Hi,
The new released kernel 5.15.205 is still vulnerable to CVE-2026-43284.
Quoted 12 lines
``` $ ./run.sh === Stage 1 — overwrite 'systemd-timesync' line (89 bytes) with 'sick::0:0:<pad>:/:/bin/bash' === Stage 2 — verify sick::0:0:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:/:/bin/bash === Stage 3 — su - sick (empty password via PAM nullok) [i] state saved to /var/tmp/.cf2.state — run './run.sh --clean' to revert # uname -r 5.15.205 ```Does the patch below fix this up?
thanks,
greg k-h
------------------
net/ipv4/ip_output.c +0
-0net/ipv4/ip_output.c ssize_t ip_append_page(struct sock *sk, struct flowi4 *fl4, struct page *page, · line 1449
Quoted 8 lines
net/ipv4/ip_output.c +1
-1@@ -1443,7 +1443,7 @@ ssize_t ip_append_page(struct sock *sk, struct flowi4 *fl4, struct page *page, goto error; } -skb_shinfo (skb)->tx_flags |=SKBFL_SHARED_FRAG ; +skb_shinfo (skb)->flags |=SKBFL_SHARED_FRAG ;if (skb->ip_summed ==CHECKSUM_NONE ) {__wsum csum;Yes, this works.
Quoted 8 lines
Quoted 3 lines
Wait, is this also needed in the 6.1.y backport as well?
Ben, I'm guessing you tested the 6.1.y backport, right?
Yes, but on 6.1 the PoC never succeeded for me even without the patch. (On 5.10 and 6.12 it does.) So unfortunately that testing could not show whether my attempted fix was correct.
Sorry for screwing this one up.
Not a problem, thanks for doing the backport at all! I'll go do a new 6.1.y release now.
Quoted 7 lines
Quoted 6 lines
Releases for everyone!!!
thanks,
greg k-h
Doesn't 5.10.255 need the flag fixup too?
In 5.10 it was correct to set this flag in
skb_shared_info::tx_flags:
Quoted 8 lines
static inline bool
skb_has_shared_frag(const struct sk_buff *skb){ return skb_is_nonlinear(skb) && skb_shinfo(skb)->tx_flags & SKBTX_SHARED_FRAG; }Ben.
Thanks for the above confirmation...
Woody