Skip to content

SSD V1#5

Open
avnermay wants to merge 41 commits intoavner/mainfrom
avner/ssd-v1
Open

SSD V1#5
avnermay wants to merge 41 commits intoavner/mainfrom
avner/ssd-v1

Conversation

@avnermay
Copy link
Copy Markdown
Collaborator

Motivation

Modifications

Accuracy Tests

Benchmarking and Profiling

Checklist

Review Process

  1. Ping Merge Oncalls to start the PR flow. See the PR Merge Process.
  2. Get approvals from CODEOWNERS and other reviewers.
  3. Trigger CI tests with comments or contact authorized users to do so.
    • /tag-run-ci-label, /rerun-failed-ci, /tag-and-rerun-ci
  4. After green CI and required approvals, ask Merge Oncalls to merge.

@github-actions github-actions bot added the documentation Improvements or additions to documentation label Feb 23, 2026
Comment on lines +110 to +112
self.speculative_algorithm = SpeculativeAlgorithm.from_string(
server_args.speculative_algorithm
)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Static Code Analysis Risk: Together python jinja2 ssti

User-controlled input is used as a Jinja2 template string (Server-Side Template Injection). Jinja2 templates can execute arbitrary Python code via class/mro traversal (CWE-94). Load templates from trusted static sources only; pass user data as render() variables, never as the template itself.

Severity: High 🚨
Status: Open 🔴

References:

  1. https://cwe.mitre.org/data/definitions/94
  2. https://portswigger.net/web-security/server-side-template-injection
  3. https://jinja.palletsprojects.com/en/3.1.x/api/#jinja2.Template

Suggested reviewers 🧐: @avnermay

More details:

🌻 View in Arnica

If you see an issue, please contact Shasheen in the #security-engineering Slack channel.


Take action by replying with an [arnica] command 💬

Actions

Use [arnica] or [a] to interact with the Arnica bot to acknowledge or dismiss code risks.

To acknowledge the finding as a valid code risk: [arnica] ack <acknowledge additional details>

To dismiss the risk with a reason: [arnica] dismiss <fp|accept|capacity> <dismissal reason>

Examples

  • [arnica] ack This is a valid risk and I'm looking into it

  • [arnica] dismiss fp Dismissed - Risk Not Accurate: (i.e. False Positive)

  • [arnica] dismiss accept Dismiss - Risk Accepted: Allow the risk to exist in the system

  • [arnica] dismiss capacity Dismiss - No Capacity: This will need to wait for a future sprint

extra_max_context_len = 4
if self.server_args.speculative_num_draft_tokens is not None:
extra_max_context_len += self.server_args.speculative_num_draft_tokens
if SpeculativeAlgorithm.from_string(self.server_args.speculative_algorithm).is_async():
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Static Code Analysis Risk: Together python jinja2 ssti

User-controlled input is used as a Jinja2 template string (Server-Side Template Injection). Jinja2 templates can execute arbitrary Python code via class/mro traversal (CWE-94). Load templates from trusted static sources only; pass user data as render() variables, never as the template itself.

Severity: High 🚨
Status: Open 🔴

References:

  1. https://cwe.mitre.org/data/definitions/94
  2. https://portswigger.net/web-security/server-side-template-injection
  3. https://jinja.palletsprojects.com/en/3.1.x/api/#jinja2.Template

Suggested reviewers 🧐: @avnermay

More details:

🌻 View in Arnica

If you see an issue, please contact Shasheen in the #security-engineering Slack channel.


Take action by replying with an [arnica] command 💬

Actions

Use [arnica] or [a] to interact with the Arnica bot to acknowledge or dismiss code risks.

To acknowledge the finding as a valid code risk: [arnica] ack <acknowledge additional details>

To dismiss the risk with a reason: [arnica] dismiss <fp|accept|capacity> <dismissal reason>

Examples

  • [arnica] ack This is a valid risk and I'm looking into it

  • [arnica] dismiss fp Dismissed - Risk Not Accurate: (i.e. False Positive)

  • [arnica] dismiss accept Dismiss - Risk Accepted: Allow the risk to exist in the system

  • [arnica] dismiss capacity Dismiss - No Capacity: This will need to wait for a future sprint

)

def _handle_speculative_decoding(self):
speculative_algorithm = SpeculativeAlgorithm.from_string(self.speculative_algorithm)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Static Code Analysis Risk: Together python jinja2 ssti

User-controlled input is used as a Jinja2 template string (Server-Side Template Injection). Jinja2 templates can execute arbitrary Python code via class/mro traversal (CWE-94). Load templates from trusted static sources only; pass user data as render() variables, never as the template itself.

Severity: High 🚨
Status: Open 🔴

References:

  1. https://cwe.mitre.org/data/definitions/94
  2. https://portswigger.net/web-security/server-side-template-injection
  3. https://jinja.palletsprojects.com/en/3.1.x/api/#jinja2.Template

Suggested reviewers 🧐: @avnermay

More details:

🌻 View in Arnica

If you see an issue, please contact Shasheen in the #security-engineering Slack channel.


Take action by replying with an [arnica] command 💬

Actions

Use [arnica] or [a] to interact with the Arnica bot to acknowledge or dismiss code risks.

To acknowledge the finding as a valid code risk: [arnica] ack <acknowledge additional details>

To dismiss the risk with a reason: [arnica] dismiss <fp|accept|capacity> <dismissal reason>

Examples

  • [arnica] ack This is a valid risk and I'm looking into it

  • [arnica] dismiss fp Dismissed - Risk Not Accurate: (i.e. False Positive)

  • [arnica] dismiss accept Dismiss - Risk Accepted: Allow the risk to exist in the system

  • [arnica] dismiss capacity Dismiss - No Capacity: This will need to wait for a future sprint

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Static Code Analysis Risk: Together python torch load

torch.load() detected (CVE-2025-32434, CVSS 9.8). In PyTorch <= 2.5.1, torch.load() enables arbitrary code execution even with weights_only=True. The weights_only flag does NOT provide the intended protection on affected versions. Use safetensors format for model weights, or ensure PyTorch >= 2.6.0 and validate model provenance before loading.

Severity: High 🚨
Status: Open 🔴

References:

  1. https://nvd.nist.gov/vuln/detail/CVE-2025-32434
  2. GHSA-53q9-r3pm-6pq6
  3. https://cwe.mitre.org/data/definitions/502

NOTE: This comment applies to line 251 but could not be created inline due to GitHub limitations.

Suggested reviewers 🧐: @avnermay

More details:

🌻 View in Arnica

If you see an issue, please contact Shasheen in the #security-engineering Slack channel.


Take action by replying with an [arnica] command 💬

Actions

Use [arnica] or [a] to interact with the Arnica bot to acknowledge or dismiss code risks.

To acknowledge the finding as a valid code risk: [arnica] ack <acknowledge additional details>

To dismiss the risk with a reason: [arnica] dismiss <fp|accept|capacity> <dismissal reason>

Examples

  • [arnica] ack This is a valid risk and I'm looking into it

  • [arnica] dismiss fp Dismissed - Risk Not Accurate: (i.e. False Positive)

  • [arnica] dismiss accept Dismiss - Risk Accepted: Allow the risk to exist in the system

  • [arnica] dismiss capacity Dismiss - No Capacity: This will need to wait for a future sprint

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant