Commit 4a8a76b
fix(discord): close reply-reference double-fetch + injection vector
Post-merge of #7821:
- formatInboundEnvelope used `knownReplyContext ?? (await getDiscordReplyContext(message))`,
which re-fetched whenever the caller passed an explicit `null` (already
established no reply context). Switch to undefined-check so null is honored.
- Raw Discord message text was concatenated into the envelope unsanitized,
letting a user-crafted `[platform_reply_reference]...[/platform_reply_reference]`
block be parsed by core as a trusted reply reference. Run rawContent
through sanitizeReplyReferenceText so the markers cannot be smuggled in.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>4 files changed
Lines changed: 51 additions & 12 deletions
File tree
- packages
- core/src/services
- native/ios-deps/llama.cpp
- plugins/plugin-discord
Lines changed: 21 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
21 | 36 | | |
22 | 37 | | |
23 | 38 | | |
24 | 39 | | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
25 | 46 | | |
26 | 47 | | |
27 | 48 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1713 | 1713 | | |
1714 | 1714 | | |
1715 | 1715 | | |
1716 | | - | |
1717 | | - | |
1718 | | - | |
1719 | | - | |
1720 | | - | |
1721 | | - | |
1722 | | - | |
| 1716 | + | |
| 1717 | + | |
| 1718 | + | |
1723 | 1719 | | |
1724 | 1720 | | |
1725 | 1721 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
214 | 214 | | |
215 | 215 | | |
216 | 216 | | |
| 217 | + | |
217 | 218 | | |
218 | 219 | | |
219 | 220 | | |
| |||
223 | 224 | | |
224 | 225 | | |
225 | 226 | | |
226 | | - | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
227 | 245 | | |
228 | 246 | | |
229 | 247 | | |
| |||
236 | 254 | | |
237 | 255 | | |
238 | 256 | | |
239 | | - | |
| 257 | + | |
| 258 | + | |
240 | 259 | | |
241 | 260 | | |
242 | 261 | | |
| |||
306 | 325 | | |
307 | 326 | | |
308 | 327 | | |
309 | | - | |
| 328 | + | |
| 329 | + | |
310 | 330 | | |
311 | 331 | | |
312 | 332 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
170 | 170 | | |
171 | 171 | | |
172 | 172 | | |
173 | | - | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
174 | 176 | | |
175 | 177 | | |
176 | 178 | | |
| |||
193 | 195 | | |
194 | 196 | | |
195 | 197 | | |
196 | | - | |
| 198 | + | |
197 | 199 | | |
198 | 200 | | |
199 | 201 | | |
0 commit comments