You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SVG XSS (security: SVG icon served inline enables stored XSS #237, filed yesterday): get_icon_file serves SVG files with image/svg+xml content type without sanitization — enables stored XSS. Should use Content-Disposition: attachment or sanitize SVG content.
Large files: handlers.rs (1626), workspace_handlers.rs (1259), import.rs (1584), App.jsx (2111) — all need splitting
SQL safety: import.rs uses format!() for SQL extensively but mitigates via escape_sql_string() and column name normalization. The safe_table_name comes from server-generated IDs, not user input. Acceptable but worth documenting.
Repository Status
cargo fmt)cargo audit+npm audit)Recent Commits (since last review)
All by @sharkAndshark:
New Issues Filed This Review
cargo fmtfails on font_handlers.rs + icon_handlers.rs (blocks all PRs)cargo auditcannot parse Cargo.lock (num-rational)Open PR Summary
Priority Actions
cd frontend && npm audit fixCode Quality Observations
get_icon_fileserves SVG files withimage/svg+xmlcontent type without sanitization — enables stored XSS. Should useContent-Disposition: attachmentor sanitize SVG content.import.rsusesformat!()for SQL extensively but mitigates viaescape_sql_string()and column name normalization. Thesafe_table_namecomes from server-generated IDs, not user input. Acceptable but worth documenting.