-
Notifications
You must be signed in to change notification settings - Fork 322
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] bad coding patterns leading to security bugs/crashes #9563
Comments
This warrants a wider discussion. Maybe start from these concrete examples and see if there is something systematic and then file for fine-grained items to address. Do you @cujomalainey a stack trace from fuzz to some example case for e.g. comp_dev_get_first_data()? There is a clear assumption at least one buffer is always connected, but if this check can be avoided, this is indeed a problem. As comp_dev_get_first_data_() is quite recent addition, I'll loop in @marcinszkudlinski to comment on this. Did you consider how to handle NULL returns (it does look you just kept the semantics of the old list_first_item(). |
I don't have any examples of Regarding the buffer checks, here is an example where the fuzzer called trigger on an disconnected AddressSanitizer:DEADLYSIGNAL==20834==ERROR: AddressSanitizer: SEGV on unknown address 0x00000088 (pc 0x082409de bp 0xec2dfd78 sp 0xec2dfd60 T7) |
rc2 tagged, so running out of time with this one. Given this is P2 and no pleas to bump this to P1, I'll push this to v2.13 as we wrap up 2.12 release. |
Describe the bug
Lack of size checks on blobs or topology state.
E.g.
comp_dev_get_first_data_*
missing nullity checkscomp_get_data_blob
not checking the size paramsTo Reproduce
fuzz
Reproduction Rate
high
Expected behavior
robust code
Impact
security
Possible long term fix
Algebraic typing (RUST!)
Short term fixes
Some sort of checks on special functions we know are misused using CI tooling
The text was updated successfully, but these errors were encountered: