Skip to content

chore(deps-dev): bump typescript from 6.0.3 to 7.0.2 in /frontend - #34

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/frontend/typescript-7.0.2
Open

chore(deps-dev): bump typescript from 6.0.3 to 7.0.2 in /frontend#34
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/frontend/typescript-7.0.2

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 23, 2026

Copy link
Copy Markdown
Contributor

Bumps typescript from 6.0.3 to 7.0.2.

Commits
Maintainer changes

This version was pushed to npm by microsoft1es, a new releaser for typescript since your current version.


@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Jul 23, 2026
@dependabot
dependabot Bot requested a review from Iranman as a code owner July 23, 2026 21:05
@dependabot dependabot Bot added the javascript Pull requests that update javascript code label Jul 23, 2026
Bumps [typescript](https://github.com/microsoft/TypeScript) from 6.0.3 to 7.0.2.
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Commits](https://github.com/microsoft/TypeScript/commits)

---
updated-dependencies:
- dependency-name: typescript
  dependency-version: 7.0.2
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/frontend/typescript-7.0.2 branch from 60c8423 to 036c92c Compare July 30, 2026 14:15
Iranman added a commit that referenced this pull request Jul 30, 2026
* fix: close non-app backend path flows and sanitize errors (SEC-002 wave 2)

Independently traced and closed all 25 open CodeQL alerts in
routes_submissions.py, routes_setup.py, routes_lidarr.py, and
backend/transaction_engine.py (scope agreed with repo owner; app.py,
index.html, and frontend files remain out of scope for a future wave).

Genuine fixes:
- routes_submissions.py _abs_resolved(): performed zero containment
  before Path.expanduser().resolve(); reachable from an authenticated
  GET query parameter (/api/submissions/target?path=...) with no other
  validation in the chain -- an arbitrary directory-read/audio-tag-parse
  primitive anywhere in the container filesystem. Fixed by requiring the
  resolved path fall under MUSIC_ROOT or DOWNLOADS_ROOT, reusing the
  existing _path_is_under()/_SUBMISSION_ALLOWED_ROOTS already present
  in the file (CodeQL #128).
- routes_submissions.py: sanitized 3 genuinely broad `except Exception`
  handlers (submission_target, submission_reference_url's metadata
  fetch, validate_musicbrainz_release) that returned raw exception text;
  deliberate ValueError/KeyError paths with fixed safe messages are
  unchanged (CodeQL #323, #34, #36).
- routes_setup.py: sanitized 6 broad-except response leaks
  (_write_env_file x2 call sites, AI/MusicBrainz/AcoustID/Plex
  connectivity tests) plus 2 unreported instances of the identical
  pattern found while reviewing the same functions (fpcalc check,
  dormant _check_path helper) (CodeQL #24, #25, #26, #27, #322).
- routes_setup.py setup_test_ai(): "openai.com" in base_url matched any
  URL merely containing that substring; replaced with a real parsed-
  hostname check (CodeQL #102, py/incomplete-url-substring-sanitization).
- routes_lidarr.py wanted_lidarr(): the true unbounded str(exc) source
  is app.py's _acq_fetch_lidarr_wanted() (out of scope this wave);
  fixed at this file's boundary instead, only echoing the known-safe
  "not configured" message (CodeQL #19).

Proven false positives (14 total, dismissed on GitHub, each with an
individual justification and a passing behavioral test -- see
docs/TECHNICAL_DEBT.md SEC-002 for full per-alert detail):
- #23, #28, #30, #31, #32, #33, #321: ValueError/KeyError raised only
  with fixed, deliberately-crafted, non-sensitive messages (env-var key
  names, numeric IDs the caller supplied, or OutboundPolicyError's own
  safe text), never a wrapped raw system exception.
- #20, #21: routes_lidarr._http_error_message() already redacts every
  exception type except a RuntimeError carrying one of two fixed
  config-status strings from _lidarr_config_error().
- #129, #130, #131, #132, #133: TransactionStore._path() requires a
  txn_ prefix and rejects /, \, and NUL before any of its 5 flagged
  sink lines; it is the only path-construction site in the file.

Also corrects docs/TECHNICAL_DEBT.md SEC-002's prior description of
PR #52's #332/#334/#335 (previously described only as "fixed"; records
that CodeQL's rescan still flagged them post-fix and they required a
separate post-merge dismissal, with the reason each fix wasn't
recognized by CodeQL's static model).

* docs: update SEC-002 remediation history

Corrects the PR #52 record (#332/#334/#335 required a post-merge
dismissal, not just a code fix -- CodeQL's static model didn't
recognize either mitigation) and records wave 2's full accounting:
starting/in-scope counts, alert numbers, root-cause groups, fixes,
dismissals, remaining 287-alert count (all in app.py/frontend), and
the next recommended wave.

* fix: check Lidarr config status directly instead of matching error text

CodeQL flagged a new alert (#407) against the previous wanted_lidarr()
fix: "not configured" in error.lower() distinguishes safe-to-echo
messages from _acq_fetch_lidarr_wanted()'s own unbounded str(exc) by
pattern-matching the exception TEXT, which isn't airtight -- a
coincidentally-worded exception could slip through. Fixed by checking
this file's own type-safe _lidarr_config_error() before ever calling
_acq_fetch_lidarr_wanted(), removing the text-matching entirely.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants