[fix] ctx value persists to next request after mutating ctx object
## Describe the bug

**Node.js version:** 18

**Description:** 

When mutating the ctx object within a middleware, the changes made to the ctx should be limited to the current request and should not persist to the next request. However, it appears that there is an issue where the mutated values in ctx persist to the next request, causing unintended side effects.

I know I should probably use Koa state for this kind of info, but still wondering if the is a expected behavior ?
## Actual behavior

Changes made to the ctx object within a middleware persist to the next request, leading to unexpected behavior and potential bugs in applications.

## Expected behavior

Mutations to the ctx object should be isolated to the current request and should not affect subsequent requests.

## Code to reproduce
To replicate the issue, follow these steps by sending two consecutive requests to different API routes:

Initiate the first request to trigger the authenticate function, resulting in the mutation of the ctx object with an appended field.
Subsequently, send the second request that should bypass the logic in the authentication function.
Upon examination, you will notice that both request logs display the same userId, despite the second request being expected to have nothing
```typescript
  app.use(logRequest()); -> Will log request metadata after await next()
  app.use(handleError());
  app.use(authenticate()); -> Will mutate the ctx object and append a userId field to it if the path is not in the whitelist
  app.use(myFirstRoute.routes());
  app.use(mySecondRoute.routes());
```

<!--
We encourage you to submit a pull request with a failing test:

1) This will make it more likely for us to prioritize your issue.
2) It's a good way to prove that the issue is related to this project and not your code.

Example: <https://github.com/avajs/ava/blob/master/docs/01-writing-tests.md#failing-tests>
-->

## Checklist

- [x] I have searched through GitHub issues for similar issues.
- [x] I have completely read through the README and documentation.
- [x] I have tested my code with the latest version of Node.js and this package and confirmed it is still not working.
