unbridled-41 commented on PR #2833:
URL: 
https://github.com/apache/rocketmq-dashboard/pull/2833#issuecomment-5467509810

   Additional verification for reviewers — end-to-end primitive check with the 
**real RocketMQ client, no mocks**:
   
   ```
   $ java SsrfPrimitiveProof
   [*] trap listener on 127.0.0.1:37161
   [*] forged offset msgId: 7F00000100009129000000000000002A   // 
127.0.0.1:37161 + offset 42
   [!] TRAP HIT: studio-side remoting client connected, first bytes read = 64
   [*] viewMessage failed as expected after connecting
   ```
   
   A plain `DefaultMQAdminExt` (NameServer configured to an unreachable 
`127.0.0.1:1`) calling `viewMessage("TopicA", forgedMsgId)` accepted a TCP 
connection on the trap socket and sent a 64-byte remoting request — i.e. the 
pre-fix primary path connects to the address carried inside the msgId, 
independent of the NameServer and of any topology check. That is the behavior 
the guard now blocks before remoting (asserted with `verify(adminExt, 
never()).viewMessage(...)`).
   
   Also re-ran the full suite on the unmodified branch as a control for the one 
failure mentioned in the PR body (result to follow in a thread if useful).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to