You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Type: Code written intentionally to access out of bounds causes CHERI bounds violation
Trigger Conditions: IPFW enabled with any rule containing IPv6 masks. An example would be the default open setting
Impact: Remote DoS with any IPv6 packet on CheriBSD
Root cause:
An IPFW rule with opcode O_IP6_SRC_MASK or O_IP6_DST_MASK can contain an array of one or more ipfw_insn_ip6. The C code obtains a pointer to the first ipfw_insn_ip6's second field addr6 and uses it to access the third field mask6. It then also increments the same pointer to access the fields of the next ipfw_insn_ip6 in the array.
There should be no actual vulnerability in this code.
I think this is a subobject bounds issue. Either this cast needs to be altered not to set bounds or the code needs be altered to derive the pointer from cmd each time.
An IPFW rule with opcode O_IP6_SRC_MASK or O_IP6_DST_MASK can contain an array of one or more ipfw_insn_ip6. The C code obtains a pointer to the first ipfw_insn_ip6's second field addr6 and uses it to access the third field mask6. It then also increments the same pointer to access the fields of the next ipfw_insn_ip6 in the array.
There should be no actual vulnerability in this code.
Tagging @YiChenChai.
The text was updated successfully, but these errors were encountered: