Skip to content

Release v1.9-20260304 — Security Patch - #206

Merged
collinschreyer-dev merged 36 commits into
mainfrom
dev
Aug 27, 2026
Merged

Release v1.9-20260304 — Security Patch#206
collinschreyer-dev merged 36 commits into
mainfrom
dev

Conversation

@collinschreyer-dev

Copy link
Copy Markdown
Collaborator

Release v1.9-20260304 — Security Patch

Security Fixes

Features

BuckinghamAJ and others added 28 commits December 16, 2024 13:46
Merge tag 'v1.7-20241211'
feature addition: manual solicitation check
Increase disk_quota to 4096M for larger Docker image
More robust boolean handling
fix: update boolean handling to support both string and boolean compl…
security: fix npm audit vulnerabilities (57→10)
Finding #1 (Moderate): Add HSTS Strict-Transport-Security header
- max-age=31536000 (1 year), includeSubDomains, preload

Finding #3 (Low): Tighten CORS configuration
- Reject CORS for requests with no Origin header in production
- Remove unused dev/staging origins from shared CORSWhitelist

Finding #4 (Low): Remove information disclosure headers
- Strip Server and X-Powered-By headers
- Add X-Content-Type-Options, X-Frame-Options, Referrer-Policy,
  Permissions-Policy security headers

Ref: SRT Penetration Test Report v1 (March 2026) by Valiant Solutions
The apt-get install of cf8-cli was failing intermittently because
the underlying GitHub release CDN returns 500 errors. This replaces
the two-step Debian repo approach with a single direct binary
download from packages.cloudfoundry.org with 3 retry attempts.
fix: replace flaky Debian CF CLI install with direct download + retry
The pen test remediation over-trimmed the CORSWhitelist, removing
legitimate dev/staging/prod client URLs. The actual CORS fix was in
the callback logic (rejecting undefined origins), not in removing
real client origins.
…diate CVE-2026-2391

Addresses CISA KEV finding SNYK-JS-QS-15268416 (Allocation of Resources
Without Limits or Throttling in qs >=6.7.0 <6.14.2).
fix(security): upgrade express to 4.22.1 and pin qs to 6.14.2
Comment thread server/routes/document.routes.js Fixed
collinschreyer-dev and others added 7 commits May 7, 2026 12:14
- Production: smtp.gsa.gov (internal DNS A record, port 25, no auth)
- Dev/Test: 159.142.160.13 (direct IP, port 25, no auth)
- Removed SendGrid API key dependency
- Added test-email.js script for verification
- Per Ted Kruelski (GSA IT, IADA)
Broker-issued SMTP credentials were hardcoded in the clouddev block of
config.js, which put a live AWS GovCloud SES key into git history. The
credential has been rotated via cf unbind-service/bind-service.

Reads from the aws-ses binding the same way dbConfig.js already reads
Postgres, so future rotations are picked up on restage with no code
change. Only applies when an aws-ses instance is bound, so SendGrid
environments are unaffected.

Also adds .env, .claude/ and .venv/ to .gitignore.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Adds the session-scoped drafts API with 30-minute retention, the user
feedback endpoint, and the pipeline-v4 routes backing the BM25 plus ML
scoring path. Includes the bm25 shared module and the quota-free SAM.gov
bulk-extract ingest script used for backfills.

Migrations: draft solicitations table, and Users.reviewStatus for the
richer reviewer statuses. Both are already applied in production.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

@github-advanced-security github-advanced-security AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

CodeQL found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.

@collinschreyer-dev
collinschreyer-dev merged commit 7f529d5 into main Aug 27, 2026
4 of 5 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.

3 participants