I found a pretty severe oversight in the server-client communication of Open Response. When the client requests a question stem, the server will send the correct answers for every question in the lecture even if the student hasn't answered the questions. This means a student with even somewhat basic knowledge of the web console could cheat on multiple-choice questions.
To Reproduce
Steps to reproduce the behavior:
- Log in as a student
- Go to any unanswered question
- Open the networking tab on the dev console
- Select the GET request that is just a number.
- In the tree view of the response object, expand the
questions property.
- Expand the numbered property corresponding to the index of the question you want to get the correct answer for
- Expand the
answers property.
Expected behavior
The client should not request the correct answer unless the question was answered (ie, a response associated with this student exists). Because of this, a separate GET request would be made for the correct answers, to which the server responds with HTTP 403 if the student hasn't answered the question (or the teacher decides to have correct answers hidden if we add this feature).
Screenshots

I found a pretty severe oversight in the server-client communication of Open Response. When the client requests a question stem, the server will send the correct answers for every question in the lecture even if the student hasn't answered the questions. This means a student with even somewhat basic knowledge of the web console could cheat on multiple-choice questions.
To Reproduce
Steps to reproduce the behavior:
questionsproperty.answersproperty.Expected behavior
The client should not request the correct answer unless the question was answered (ie, a response associated with this student exists). Because of this, a separate GET request would be made for the correct answers, to which the server responds with HTTP 403 if the student hasn't answered the question (or the teacher decides to have correct answers hidden if we add this feature).
Screenshots
