| #97 |
HIGH: Wait operators can re-execute on workflow resume
inline_executor.py:1091-1110 - WaitOperator and WaitForEventOperator NOT marked as executed when sle...
|
closed |
high |
2025-11-26 20:52 |
- |
|
| #96 |
HIGH: Failure handler savepoint rollback before logging
inline_executor.py:1182-1188 - After task fails, PostgreSQL aborts transaction. Rollback to savepoin...
|
closed |
high |
2025-11-26 20:52 |
- |
|
| #95 |
HIGH: Deep copy workflow_state for parallel branch isolation
operators.py:463-465 - Branch contexts require deep copy of parent workflow_state for isolation. Ena...
|
closed |
high |
2025-11-26 20:51 |
- |
|
| #94 |
HIGH: Never log plaintext or ciphertext in encryption operations
encryption.py:218,281 - Encryption/decryption logs NEVER include plaintext or ciphertext. Only logs ...
|
closed |
high |
2025-11-26 20:51 |
- |
|
| #93 |
HIGH: Immutable workflow definition storage for audit integrity
workflow_versioning_service.py:170 - Workflow JSON NEVER modified after storage. Each unique hash st...
|
closed |
high |
2025-11-26 20:51 |
- |
|
| #92 |
HIGH: Durable cron definition_id injection for workflow.execute
durable_cron.py:344-352 - For tools.workflow.execute tasks, definition_id injected into target_param...
|
closed |
high |
2025-11-26 20:51 |
- |
|
| #91 |
HIGH: Durable cron schedule inactive check stops zombie jobs
durable_cron.py:226-227 - Cron loop checks if schedule marked inactive (deleted) and stops iteration...
|
closed |
high |
2025-11-26 20:51 |
- |
|
| #90 |
HIGH: Mini-workflow executed_tasks state persistence to parent
workflow_executor.py:179-185 - Mini-workflows' executed_tasks state persisted to parent workflow con...
|
closed |
high |
2025-11-26 20:51 |
- |
|
| #89 |
HIGH: Mini-workflow sequential execution prevents recursive spawning
workflow_executor.py:172-177 - Mini-workflows execute with enable_concurrent_levels=False. Only top-...
|
closed |
high |
2025-11-26 20:51 |
- |
|
| #88 |
HIGH: SQL injection prevention via sql.Identifier for dynamic tables
timeout_service.py:174,311 dead_letter_service.py:189,204 heartbeat_service.py:182 - All services us...
|
closed |
high |
2025-11-26 20:51 |
- |
|
| #87 |
CRITICAL: DataShard log cleanup delayed until terminal state
datashard_logger.py:334-364 - Cleanup of workflow_state (replacing stdout/stderr with log_id) only p...
|
closed |
critical |
2025-11-26 20:51 |
- |
|
| #86 |
CRITICAL: DeadLetterService transactional atomicity requirement
dead_letter_service.py:14,60 - DLQ operations MUST use provided connection for atomicity with failur...
|
closed |
critical |
2025-11-26 20:51 |
- |
|
| #85 |
CRITICAL: Atomic activity claiming via SELECT FOR UPDATE SKIP LOCKED
activity_worker.py:123 - Claims next pending activity atomically to prevent multiple workers from cl...
|
closed |
critical |
2025-11-26 20:51 |
- |
|
| #84 |
CRITICAL: Atomic activity reclamation prevents race with workers
activity_timeout_service.py:145 - Uses highway.reclaim_stale_activities() SQL function for atomic re...
|
closed |
critical |
2025-11-26 20:51 |
- |
|
| #83 |
CRITICAL: TimeoutService atomic check-and-set race condition fix
timeout_service.py:250,283-284 - Uses atomic WHERE clause checking (fencing) to prevent race with Or...
|
closed |
critical |
2025-11-26 20:51 |
- |
|
| #82 |
CRITICAL: Module contamination prevention via sys.modules scrubbing
python_task.py:250-252,307-314 - Snapshots sys.modules before importing, aggressively scrubs loaded ...
|
closed |
critical |
2025-11-26 20:50 |
- |
|
| #81 |
CRITICAL: Zip Slip vulnerability protection in python_task
python_task.py:75-82 - Zip extraction validates canonical path stays under extraction root. Prevents...
|
closed |
critical |
2025-11-26 20:50 |
- |
|
| #80 |
CRITICAL: Durable cron queue routing - use cron queue not target queue
durable_cron.py:475-477 - Next iteration spawn now uses ctx.absurd_client.queue_name (cron's queue),...
|
closed |
critical |
2025-11-26 20:50 |
- |
|
| #79 |
CRITICAL: Durable cron atomicity - connection reuse for spawn_task
durable_cron.py:98-106 - spawn_task now uses provided conn parameter to maintain transaction atomici...
|
closed |
critical |
2025-11-26 20:50 |
- |
|
| #78 |
CRITICAL: Circuit breaker exception handling - all exceptions count as failures
shell_command.py:81-86, http_request.py:83-89 - should_handle lambda changed to return True for ALL ...
|
closed |
critical |
2025-11-26 20:50 |
- |
|