Skip to content

SignalForge Node 2025.05.23#9

Merged
CptPlastic merged 25 commits into
mainfrom
dev
May 23, 2026
Merged

SignalForge Node 2025.05.23#9
CptPlastic merged 25 commits into
mainfrom
dev

Conversation

@CptPlastic

Copy link
Copy Markdown
Owner

Summary

Sync from Dev

Type Of Change

  • [ x ] Bug fix
  • [ x ] Documentation
  • [ x ] Operator/deployment improvement
  • Recorder/client change
  • [ x ] Server/API change
  • [ x ] Database migration
  • [ x ] Federation/trust change

Sensitive Areas

Does this touch auth, upload keys, federation trust, official/verified status, database migrations, public deployment defaults, or security policy?

  • No
  • [ x ] Yes, and I explained the risk below

Risk notes: There should be no one using this node code as of yet but if you are you need to REDEPLOY the whole stack to upgrade.

Screenshots

Add screenshots for visible UI changes.

CptPlastic and others added 25 commits May 19, 2026 01:10
## Summary\n\n- Adds a 1280x640 GitHub social preview image using the
official SignalForge logo.\n- Keeps the SVG source beside the
upload-ready PNG.\n\n## Notes\n\nGitHub repo cards use the Social
preview image configured in repository settings; this asset is ready to
upload there.
Replace ghcr.io/cptplastic/* image references with ghcr.io/signalforge-org/* in the README so documentation points to the new organization/container registry for server, client, and mock-call-sender images.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…m user-controlled sources (#6)

Potential fix for
[https://github.com/CptPlastic/signalforge-node/security/code-scanning/5](https://github.com/CptPlastic/signalforge-node/security/code-scanning/5)

Use a strict allowlist-driven query assembly where `ORDER BY` fragments
are selected from predefined constants, and avoid passing through raw
request-derived strings into `fmt.Sprintf` SQL structure interpolation.

Best fix in `server/internal/database/calls.go`:
- Keep existing behavior (same supported sort fields and ASC/DESC
handling).
- Change sort normalization to return a **single safe ORDER BY clause
constant** (for example `"datetime DESC"`, `"duration ASC"`, etc.)
derived only from fixed internal strings.
- Build final query with that clause, while continuing to parameterize
`LIMIT/OFFSET` and all filters.
- This preserves functionality and makes the SQL-construction safety
explicit.

No changes are required in `server/internal/api/calls.go` for
functionality/security once DB-layer strict allowlisting is made
explicit.


_Suggested fixes powered by Copilot Autofix. Review carefully before
merging._

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
…uilt from user-controlled sources" (#7)

Reverts #6
#8)

…m user-controlled sources

If a database query (such as an SQL or NoSQL query) is built from
user-provided data without sufficient sanitization, a malicious user may
be able to run commands that exfiltrate, tamper with, or destroy data
stored in the database.

# Pull Request

## Summary

Describe what changed and why.

## Type Of Change

- [x ] Bug fix
- [ ] Documentation
- [ ] Operator/deployment improvement
- [ ] Recorder/client change
- [ ] Server/API change
- [ ] Database migration
- [ ] Federation/trust change

## Checks

- [x ] I ran relevant local checks.
- [x ] I did not commit secrets, real `.env` files, database dumps, call
audio, or local volumes.
- [x ] I preserved the AGPL-3.0-or-later license terms.
- [ x] I updated docs if behavior or operator setup changed.

## Sensitive Areas

Does this touch auth, upload keys, federation trust, official/verified
status, database migrations, public deployment defaults, or security
policy?

- [x ] No
- [ ] Yes, and I explained the risk below

Risk notes:

## Screenshots

Add screenshots for visible UI changes.

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Removed deployment buttons for Railway and Render from README.
@CptPlastic CptPlastic self-assigned this May 23, 2026
@CptPlastic CptPlastic changed the title SYNC SignalForge Node 2025.05.23 May 23, 2026
@CptPlastic CptPlastic merged commit 8fe0d7c into main May 23, 2026
16 of 17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant