Skip to content
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

std::istream::read() reports security issue, false alert? #59

Open
oneiric opened this issue Sep 9, 2021 · 4 comments
Open

std::istream::read() reports security issue, false alert? #59

oneiric opened this issue Sep 9, 2021 · 4 comments

Comments

@oneiric
Copy link

oneiric commented Sep 9, 2021

Hi Expert,

I noticed that flawfinder will report security issue when using modern C++ std::istream::read().
https://en.cppreference.com/w/cpp/io/basic_istream/read

OpenAPITools/openapi-generator#10349

The check rule in Flawfinder is as below:

https://github.com/david-a-wheeler/flawfinder/blob/d9ddc06b7efea4c626205e5d39157255d112bfe4/flawfinder.py#L1282~L1287

    # fread not included here; in practice I think it's rare to mistake it.
    "getchar|fgetc|getc|read|_gettc":
    (normal, 1,
     "Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20)",
     "",
     "buffer", "dangers-c", {'input': 1}, "FF1029"),

Is this a false alert when using modern C++ std::istream::read() function?
If no, how to fix this issue?
https://github.com/OpenAPITools/openapi-generator/blob/master/samples/client/petstore/cpp-restsdk/client/ModelBase.cpp#L519

Regards,
Alex

@oneiric
Copy link
Author

oneiric commented Sep 9, 2021

By the way, the read() API is not in the latest microsoft banned functions.

https://github.com/x509cert/banned/blob/master/banned.h

@oneiric
Copy link
Author

oneiric commented Sep 26, 2021

@david-a-wheeler

@david-a-wheeler
Copy link
Owner

For your specific challenge, just use a flawfinder: ignore comment.

The problem is that flawfinder doesn't understand C++ namespace references. It's completely possible to add that functionality. Patches welcome.

@oneiric
Copy link
Author

oneiric commented Sep 27, 2021

Thanks for the suggestions, David.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants