If uri contents //, the used URI is a reconstruction of obj_uri.scheme + "://" + obj_uri.netloc + obj_uri.path
But youtube pass the video id in params, so the md5 generated for all youtube videos is exactly the same because it doesn't take into account the query.
There is a collision when generating md5 hash of URI when website use query for parameters
Example of a parsed "Cochonnet" youtube video.
If uri contents //, the used URI is a reconstruction of
obj_uri.scheme + "://" + obj_uri.netloc + obj_uri.path
But youtube pass the video id in params, so the md5 generated for all youtube videos is exactly the same because it doesn't take into account thequery
.Here are all line where I found the bug: https://github.com/soprasteria/cybersecurity-dfm/blob/03bd533ea4ba43328f88f027cf81ac676022daa8/utils/dfmtelegrambot.py#L53
https://github.com/soprasteria/cybersecurity-dfm/blob/9b78c22d71f5178d3320582d8429fa37a8dedda7/dfm/server.py#L90
https://github.com/soprasteria/cybersecurity-dfm/blob/03bd533ea4ba43328f88f027cf81ac676022daa8/dfm/storage.py#L181