HexBrain

curl · Report #3761789

Mentioned unites are at the same time .Then we have to increase the bounty.

N/Astatus
17upvotes
1 Jun 2026disclosed

How it was found

Summary:

Once you done with the coding then we have to increase the bounty and then write the reviwe on the same

[Once we find the error then we have to submit the margin and find the events ]

Affected version

Use a language that is not susceptible to these issues. However, be careful of null byte interaction errors (CWE-626) with lower-level constructs that may be written in a language that is susceptible.

Steps To Reproduce:

Ensure that all string functions used are understood fully as to how they append null characters. Also, be wary of off-by-one errors when appending nulls to the end of strings.

  1. --- a/lib/urlapi.c +++ b/lib/urlapi.c @@ -1732,7 +1732,8 @@ static CURLUcode set_url(CURLU u, CURLUPart part, size_t nalloc, / if the old URL is incomplete (we cannot get an absolute URL in 'oldurl'), replace the existing with the new */
  • uc = curl_url_get(u, CURLUPART_URL, &oldurl, flags);
  • /* always include "scheme://" so redirect_url's pointer arithmetic is valid */
  • uc = curl_url_get(u, CURLUPART_URL, &oldurl, flags & ~CURLU_NO_GUESS_SCHEME); if(uc == CURLUE_OUT_OF_MEMORY) return uc; else if(uc)
  1. [Around the same time we have reproduce the vector]
  2. [add step]

Supporting Material/References:

The conditions are narrow/conflicting eg.app needs to do something no app would do (CURLU_GUESS_SCHEME with CURLU_NO_GUESS_SCHEME).

Impact

Summary:

"Forced browsing" is a step-based manipulation involving the omission of one or more steps, whose order is assumed to be immutable. The application does not verify that the first step was performed successfully before the second step. The consequence is typically "authentication bypass" or "path disclosure," although it can be primary to all kinds of weaknesses, especially in languages such as PHP, which allow external modification of assumed-immutable variables.

This report was disclosed publicly on HackerOne and belongs to its author and the program. See the original