@hapi/content provided HTTP Content-* headers parsing. Prior to 6.0.2, Content.disposition() retained the last occurrence of each duplicate parameter while Content.type() retained the first occurrence of duplicate charset and boundary parameters, creating a parameter-smuggling primitive when another component in the request-processing chain resolves duplicates the opposite way. This can allow an upload filename allowlist bypass in headers such as Content-Disposition: form-data; name=file; filename=safe.txt; filename=shell.php. This issue is fixed in version 6.0.2.
Product A handles inputs or steps differently than Product B, which causes A to perform incorrect actions based on its perception of B’s state.