Commit c2317eb
committed
fix(interfaces): re-assert same-workspace on the authenticated form submit
The public submit route re-checks that the resolved workflow still belongs to
the interface's workspace, with a comment explaining why it is not redundant:
validateLayout grandfathers references that were already stored, so a stored
workflowId is only proven in-workspace at the moment it was introduced.
The authenticated route skipped that check and executed against
workflowRecord.workspaceId — the workflow's workspace, not the interface's.
It also grants at level 'read', so it was the lower-privilege of the two paths
reaching the same executor. Adds the guard, releasing the reserved billing
slot on the early exit exactly as the sibling branch above it does.
The test is mutation-verified: without the guard it returns 200 instead of
404.1 parent 3266185 commit c2317eb
2 files changed
Lines changed: 46 additions & 0 deletions
Lines changed: 29 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
211 | 211 | | |
212 | 212 | | |
213 | 213 | | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
214 | 243 | | |
215 | 244 | | |
216 | 245 | | |
| |||
Lines changed: 17 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
114 | 114 | | |
115 | 115 | | |
116 | 116 | | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
117 | 134 | | |
118 | 135 | | |
119 | 136 | | |
| |||
0 commit comments