Field value from previous request is recycled when field is absent in new 
request
---------------------------------------------------------------------------------

                 Key: CXF-3390
                 URL: https://issues.apache.org/jira/browse/CXF-3390
             Project: CXF
          Issue Type: Bug
          Components: JAX-RS
    Affects Versions: 2.4
            Reporter: Ben Noordhuis
            Priority: Critical


This was tested against 2.3.1 and HEAD.

Consider this class:
{code}
@Path("/test")
public class Test {
  @QueryParam("q") private String q;

  @GET
  public void test() {
    System.err.println(q);
  }
}
{code}
Now consider this test case:
{noformat}
$ curl http://localhost:8080/test       # prints "null"
$ curl http://localhost:8080/test?q=foo # prints "foo"
$ curl http://localhost:8080/test       # prints "foo" !
{noformat}
This is a serious bug because it leaks information. It's not specific to 
@QueryParam, the other annotations have the same problem.

I discovered it in a resource that is used for authentication: after logging in 
once, I could log in again without providing a username and password!

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to