git: c8773c8018e7 - stable/12 - ipfilter: Fix ip_nat memory leak and use-after-free

Cy Schubert cy at FreeBSD.org
Thu Jun 3 00:57:54 UTC 2021


The branch stable/12 has been updated by cy:

URL: https://cgit.FreeBSD.org/src/commit/?id=c8773c8018e74a34a5d9e7ec6d66f4311148f975

commit c8773c8018e74a34a5d9e7ec6d66f4311148f975
Author:     Cy Schubert <cy at FreeBSD.org>
AuthorDate: 2021-05-25 18:54:49 +0000
Commit:     Cy Schubert <cy at FreeBSD.org>
CommitDate: 2021-06-03 00:57:45 +0000

    ipfilter: Fix ip_nat memory leak and use-after-free
    
    Unfortunately the wrong elemet is freed, also resulting in use-after-free.
    
    PR:             255859
    Submitted by:   lylgood at foxmail.com
    Reported by:    lylgood at foxmail.com
    
    (cherry picked from commit 323a4e2c4e285e6f8eee8db3fe2cb7490a734da0)
---
 sys/contrib/ipfilter/netinet/ip_nat.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys/contrib/ipfilter/netinet/ip_nat.c b/sys/contrib/ipfilter/netinet/ip_nat.c
index bbf78877249c..028be649cccd 100644
--- a/sys/contrib/ipfilter/netinet/ip_nat.c
+++ b/sys/contrib/ipfilter/netinet/ip_nat.c
@@ -6243,7 +6243,7 @@ ipf_nat_rule_deref(softc, inp)
 
 	if (n->in_tqehead[0] != NULL) {
 		if (ipf_deletetimeoutqueue(n->in_tqehead[0]) == 0) {
-			ipf_freetimeoutqueue(softc, n->in_tqehead[1]);
+			ipf_freetimeoutqueue(softc, n->in_tqehead[0]);
 		}
 	}
 


More information about the dev-commits-src-all mailing list