Fix a use after free panic in ipfilter's fragment processing.
Memory is malloc'd, then a search for a match in the fragment table is made and if the fragment matches, the wrong fragment table is freed, causing a use after free panic. This commit fixes this. A symptom of the problem is a kernel page fault in bcopy() called by ipf_frag_lookup() at line 715 in ip_frag.c. Another symptom is a kernel page fault in ipf_frag_delete() when called by ipf_frag_expire() via ipf_slowtimer(). MFC after: 1 week
This commit is contained in:
parent
8d16945419
commit
666bd4d253
@ -474,7 +474,7 @@ ipfr_frag_new(softc, softf, fin, pass, table
|
||||
IPFR_CMPSZ)) {
|
||||
RWLOCK_EXIT(lock);
|
||||
FBUMPD(ifs_exists);
|
||||
KFREE(fra);
|
||||
KFREE(fran);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user